add np-subsonic
This commit is contained in:
parent
e2bfd905a8
commit
661f3e0911
26
.config/zsh/functions/np-subsonic
Executable file
26
.config/zsh/functions/np-subsonic
Executable file
|
@ -0,0 +1,26 @@
|
|||
#!/usr/bin/env zsh
|
||||
# get now playing from subsonic compatible API
|
||||
# cfg file: host\nuser\password
|
||||
|
||||
setopt LOCAL_OPTIONS ERR_RETURN NO_UNSET PIPE_FAIL
|
||||
|
||||
local -a cfg
|
||||
while IFS=\n read -r line; do
|
||||
cfg+=${line}
|
||||
done < ${XDG_CONFIG_HOME:-~/.config}/nc-subsonic.cfg
|
||||
|
||||
local host=${cfg[1]}
|
||||
local api_version=1.16.1
|
||||
local useragent=np-hack
|
||||
local user=${cfg[2]}
|
||||
local password=${cfg[3]}
|
||||
local salt=$(pwgen 20 1)
|
||||
local token=$(print -n "${password}${salt}" | md5sum | cut -d' ' -f1)
|
||||
|
||||
local response=$(curl --silent \
|
||||
"${host}/rest/getNowPlaying?v=${api_version}&c=${useragent}&u=${user}&s=${salt}&t=${token}&f=json")
|
||||
local entry=$(jq '."subsonic-response".nowPlaying.entry[0]' <<<${response})
|
||||
local title=$(jq --raw-output .title <<< ${entry})
|
||||
local artist=$(jq --raw-output .artist <<< ${entry})
|
||||
|
||||
print ${title} – ${artist}
|
Loading…
Reference in New Issue
Block a user