feat: preview

This commit is contained in:
2025-07-21 14:55:03 +02:00
parent 84bff90664
commit ad814aa251
3 changed files with 41 additions and 10 deletions

View File

@@ -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
View 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"
}

View File

@@ -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"
}