summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2020-11-24 03:05:27 +0100
committerJohn Ankarström <john@ankarstrom.se>2020-11-24 03:05:27 +0100
commit6874c634cbca5761a6a8630f07675852f7efba31 (patch)
tree9975e4f684097a60be6f96e718699ad5e776bced
parent26a5c96dfd8ed2937f602a360c7eee4ed684d3ee (diff)
downloadmsc-6874c634cbca5761a6a8630f07675852f7efba31.tar.gz
lfu: Rename to lfq, make into a more general query tool
lfu was not very UNIX-like. Now sim uses ep (edit pipe) to choose the right match.
-rwxr-xr-xlf/lfq (renamed from lf/lfu)27
-rwxr-xr-xsim2
2 files changed, 4 insertions, 25 deletions
diff --git a/lf/lfu b/lf/lfq
index 415f448..81dbfb1 100755
--- a/lf/lfu
+++ b/lf/lfq
@@ -2,17 +2,13 @@
# Search for track(s) on Last.fm, retrieve URL(s)
-usage() { echo usage: $0 [-a] [-f] [-m max] base-url 1>&2; exit 1; }
+usage() { echo usage: $0 [-m max] base-url 1>&2; exit 1; }
# Parse options
-a=
-f=
m=10
-while getopts afm: o
+while getopts m: o
do
case $o in
- a) a=1 ;; # all
- f) f=1 ;; # first
m) m=$OPTARG ;; # max
?) usage
esac
@@ -24,7 +20,6 @@ m=$((m+0))
test $m -lt 1 && m=10
# Retrieve search results
-tmp=/tmp/lfu.$RANDOM
curl -s -G --data-urlencode "q=$q" 'https://www.last.fm/search/tracks' |
sed '/^[ ]*$/d' |
awk -F \" '
@@ -40,20 +35,4 @@ awk -F \" '
if (i > '"$((m-1))"') exit;
}
' |
-sed 's,^,https://www.last.fm,' > $tmp
-
-# Select/print results
-if test ! -z "$a"
-then
- cat $tmp
-elif test ! -z "$f"
-then
- sed 1q < $tmp
-else
- < $tmp lfp | nl -w2 -s'. ' > /dev/tty
- read n < /dev/tty
- n=$((n+0))
- test $n -lt 1 && n=1
- awk "NR == $n {print}" < $tmp
-fi
-rm $tmp
+sed 's,^,https://www.last.fm,'
diff --git a/sim b/sim
index 2502702..df04473 100755
--- a/sim
+++ b/sim
@@ -2,7 +2,7 @@
# Get similar songs
-lfu "$@" |
+lfq "$@" | ep | head -1 |
xargs lfs |
lfp |
sed 's/\(.*\) - \(.*\)/track:"\1" artist:"\2"/' |