list release groups
This commit is contained in:
70
src/main.sh
70
src/main.sh
@@ -23,7 +23,7 @@ set -eu
|
||||
# Load preview methods
|
||||
. "sh/preview.sh"
|
||||
|
||||
if [ "${1:-}" = "--internal-preview" ]; then
|
||||
if [ "${1:-}" = "--internal-preview-artist" ]; then
|
||||
__preview_artist "$2"
|
||||
exit 0
|
||||
fi
|
||||
@@ -49,7 +49,7 @@ if [ "${1:-}" = "--internal-search" ]; then
|
||||
echo "$$" >"$PIDFILE"
|
||||
sleep 1
|
||||
touch "$LOCKFILE"
|
||||
mb_browse_artists "$2" |
|
||||
mb_search_artists "$2" |
|
||||
$JQ -r '.artists[] | [.id, .type, .name, .disambiguation, .["life-span"].begin, .["life-span"].end] | join("\t")' |
|
||||
awk \
|
||||
-F "\t" \
|
||||
@@ -63,6 +63,24 @@ if [ "${1:-}" = "--internal-search" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "${1:-}" = "--internal-browse-artist" ]; then
|
||||
mb_browse_release_groups "$2" |
|
||||
$JQ -r '."release-groups"[] | [
|
||||
.id,
|
||||
."primary-type",
|
||||
."first-release-date",
|
||||
.title
|
||||
] | join("\t")' |
|
||||
awk \
|
||||
-F "\t" \
|
||||
-v format_album="$FORMAT_ALBUM" \
|
||||
-v format_single="$FORMAT_SINGLE" \
|
||||
-v format_ep="$FORMAT_EP" \
|
||||
-v format_year="$FORMAT_YEAR" \
|
||||
"$AWK_RELEASEGROUPS"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "${1:-}" = "--help" ]; then
|
||||
$CAT <<EOF
|
||||
Usage: \`$0\` [ \`--help\` ]
|
||||
@@ -73,6 +91,9 @@ EOF
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Set window title
|
||||
printf '\033]0;%s\007' "$WINDOW_TITLE"
|
||||
|
||||
# Generate filenames for temporary files
|
||||
tmpdir=$(mktemp -d)
|
||||
LOCKFILE="$tmpdir/lock"
|
||||
@@ -86,18 +107,35 @@ if [ "${1:-}" = "--search" ]; then
|
||||
fi
|
||||
|
||||
while true; do
|
||||
sel=$(
|
||||
printf "" |
|
||||
$FZF \
|
||||
--ansi \
|
||||
--no-sort \
|
||||
--disabled \
|
||||
--delimiter="\t" \
|
||||
--accept-nth="{1}" \
|
||||
--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"
|
||||
case "${1:-}" in
|
||||
"--show-artist")
|
||||
sel=$(
|
||||
$0 --internal-browse-artist "$2" |
|
||||
$FZF \
|
||||
--ansi \
|
||||
--no-sort \
|
||||
--disabled \
|
||||
--delimiter="\t" \
|
||||
--accept-nth="{1}" \
|
||||
--with-nth="{2}"
|
||||
)
|
||||
[ "$sel" ] && set -- "--show-release" "$sel"
|
||||
;;
|
||||
*)
|
||||
sel=$(
|
||||
printf "" |
|
||||
$FZF \
|
||||
--ansi \
|
||||
--no-sort \
|
||||
--disabled \
|
||||
--delimiter="\t" \
|
||||
--accept-nth="{1}" \
|
||||
--with-nth="{2}" \
|
||||
--preview-window="wrap" \
|
||||
--preview="$0 --internal-preview-artist {1}" \
|
||||
--bind="change:execute-silent($0 --internal-search \$FZF_QUERY &)+reload($0 --internal-reload)"
|
||||
)
|
||||
[ "$sel" ] && set -- "--show-artist" "$sel"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
Reference in New Issue
Block a user