feat: preview
This commit is contained in:
19
src/main.sh
19
src/main.sh
@@ -8,8 +8,21 @@ set -eu
|
|||||||
# Load helper methods
|
# Load helper methods
|
||||||
. "sh/helper.sh"
|
. "sh/helper.sh"
|
||||||
|
|
||||||
# Load MusicBrainz methods
|
# Load MusicBrainz and Discogs methods
|
||||||
. "sh/mb.sh"
|
. "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
|
if [ "${1:-}" = "--internal-reload" ]; then
|
||||||
sleep 2
|
sleep 2
|
||||||
@@ -86,6 +99,8 @@ while true; do
|
|||||||
--disabled \
|
--disabled \
|
||||||
--delimiter="\t" \
|
--delimiter="\t" \
|
||||||
--with-nth="{2}" \
|
--with-nth="{2}" \
|
||||||
|
--preview-window="wrap" \
|
||||||
|
--preview="$0 --internal-preview {1}" \
|
||||||
--bind="change:execute-silent($0 --internal-search \$FZF_QUERY &)+reload($0 --internal-reload)"
|
--bind="change:execute-silent($0 --internal-search \$FZF_QUERY &)+reload($0 --internal-reload)"
|
||||||
)
|
)
|
||||||
echo "$sel"
|
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