bin: rework syncthing api script

This commit is contained in:
xeruf 2021-07-04 19:42:20 +02:00
parent 8b6958162e
commit f99e5be0ca
2 changed files with 18 additions and 9 deletions

18
.local/bin/scripts/st Executable file
View File

@ -0,0 +1,18 @@
#!/bin/sh
# Query local syncthing REST API
subscript="$(which "$(basename $0)-$1" 2>/dev/null)"
if test -f "$subscript"
then shift && $subscript "$@"
else
apikey=$(grep apikey $XDG_CONFIG_HOME/syncthing/config.xml | cut -d '>' -f2 | cut -d '<' -f1)
case "$1" in
(browse|need)
for arg in "${@:2}"
do case "$arg" in ([0-9]) depth=$arg;; (*) path="$arg";; esac
done
query="db/$1?folder=$(test -n "$path" && echo "${path%%/*}" || echo "data")&levels=${depth:-1}$(case "$path" in (*/*) echo "&prefix=${path#*/}";; esac)";;
(*) query="$1";;
esac
shift
curl --silent -H 'Content-Type: application/json' -H "X-API-Key: $apikey" "http://localhost:8384/rest/$query" "$@" | bat --style=numbers -l json
fi

View File

@ -1,9 +0,0 @@
#!/bin/sh
apikey=$(grep apikey $XDG_CONFIG_HOME/syncthing/config.xml | cut -d '>' -f2 | cut -d '<' -f1)
curl -H 'Content-Type: application/json' -H "X-API-Key: $apikey" "http://localhost:8384/rest/$1" "${@:2}" | bat --style=numbers -l json
# https://docs.syncthing.net/rest/db-browse-get.html
# synct 'db/browse?folder=data&levels=1'
# https://docs.syncthing.net/rest/db-need-get.html
# synct 'db/need?folder=music'