diff options
author | John Ankarström <john@ankarstrom.se> | 2020-11-24 03:05:27 +0100 |
---|---|---|
committer | John Ankarström <john@ankarstrom.se> | 2020-11-24 03:05:27 +0100 |
commit | 6874c634cbca5761a6a8630f07675852f7efba31 (patch) | |
tree | 9975e4f684097a60be6f96e718699ad5e776bced /lf/lfq | |
parent | 26a5c96dfd8ed2937f602a360c7eee4ed684d3ee (diff) | |
download | msc-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.
Diffstat (limited to 'lf/lfq')
-rwxr-xr-x | lf/lfq | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -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,' |