summaryrefslogtreecommitdiff
path: root/lf/lfq
diff options
context:
space:
mode:
Diffstat (limited to 'lf/lfq')
-rwxr-xr-xlf/lfq38
1 files changed, 38 insertions, 0 deletions
diff --git a/lf/lfq b/lf/lfq
new file mode 100755
index 0000000..81dbfb1
--- /dev/null
+++ b/lf/lfq
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# Search for track(s) on Last.fm, retrieve URL(s)
+
+usage() { echo usage: $0 [-m max] base-url 1>&2; exit 1; }
+
+# Parse options
+m=10
+while getopts m: o
+do
+ case $o in
+ m) m=$OPTARG ;; # max
+ ?) usage
+ esac
+done
+shift $((OPTIND-1))
+q=$1
+
+m=$((m+0))
+test $m -lt 1 && m=10
+
+# Retrieve search results
+curl -s -G --data-urlencode "q=$q" 'https://www.last.fm/search/tracks' |
+sed '/^[ ]*$/d' |
+awk -F \" '
+ /class="chartlist-name"/ {
+ getline;
+ getline;
+ getline;
+ getline;
+ getline;
+ getline;
+ print $2;
+ i++;
+ if (i > '"$((m-1))"') exit;
+ }
+' |
+sed 's,^,https://www.last.fm,'