feat: preview
This commit is contained in:
19
src/main.sh
19
src/main.sh
@@ -8,8 +8,21 @@ set -eu
|
||||
# Load helper methods
|
||||
. "sh/helper.sh"
|
||||
|
||||
# Load MusicBrainz methods
|
||||
. "sh/mb.sh"
|
||||
# Load MusicBrainz and Discogs methods
|
||||
. "sh/api.sh"
|
||||
|
||||
if [ "${1:-}" = "--internal-preview" ]; then
|
||||
# Get discogs url
|
||||
discogsurl=$(mb_get_artist "$2" |
|
||||
$JQ -r '.relations | map(select(.type=="discogs")) | .[0].url.resource')
|
||||
[ ! "$discogsurl" ] || [ "$discogsurl" = "(null)" ] && exit 0
|
||||
discogsid=$(echo "$discogsurl" | awk -F "/" '{print $NF}')
|
||||
profile=$(discogs_get_artist "$discogsid" |
|
||||
$JQ -r '.profile')
|
||||
[ ! "$profile" ] || [ "$profile" = "(null)" ] && exit 0
|
||||
echo "$profile" | $CAT
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "${1:-}" = "--internal-reload" ]; then
|
||||
sleep 2
|
||||
@@ -86,6 +99,8 @@ while true; do
|
||||
--disabled \
|
||||
--delimiter="\t" \
|
||||
--with-nth="{2}" \
|
||||
--preview-window="wrap" \
|
||||
--preview="$0 --internal-preview {1}" \
|
||||
--bind="change:execute-silent($0 --internal-search \$FZF_QUERY &)+reload($0 --internal-reload)"
|
||||
)
|
||||
echo "$sel"
|
||||
|
24
src/sh/api.sh
Normal file
24
src/sh/api.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
mb_browse_artists() {
|
||||
$CURL \
|
||||
--get \
|
||||
--data-urlencode fmt=json \
|
||||
--data-urlencode query="$1" \
|
||||
-A "$APP_NAME/$APP_VERSION ($APP_WEBSITE)" \
|
||||
"https://musicbrainz.org/ws/2/artist"
|
||||
}
|
||||
|
||||
mb_get_artist() {
|
||||
$CURL \
|
||||
--get \
|
||||
--data-urlencode fmt=json \
|
||||
--data-urlencode inc="url-rels" \
|
||||
-A "$APP_NAME/$APP_VERSION ($APP_WEBSITE)" \
|
||||
"https://musicbrainz.org/ws/2/artist/$1"
|
||||
}
|
||||
|
||||
discogs_get_artist() {
|
||||
$CURL \
|
||||
--get \
|
||||
-A "$APP_NAME/$APP_VERSION ($APP_WEBSITE)" \
|
||||
"https://api.discogs.com/artists/$1"
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
mb_browse_artists() {
|
||||
$CURL \
|
||||
--get \
|
||||
--data-urlencode fmt=json \
|
||||
--data-urlencode query="$1" \
|
||||
-A "$APP_NAME/$APP_VERSION ($APP_WEBSITE)" \
|
||||
"https://musicbrainz.org/ws/2/artist"
|
||||
}
|
Reference in New Issue
Block a user