mirror of
http://gitea.phreedom.club/localhost_frssoft/funkwlmpv
synced 2024-11-25 04:41:29 +00:00
feature: tags from instance
This commit is contained in:
parent
d0772a5003
commit
f0ef665ca0
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
|
tags_db
|
||||||
playlist.m3u8
|
playlist.m3u8
|
||||||
preload
|
preload
|
||||||
instance.hist
|
instance.hist
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
"instance": "sound.redeyes.club",
|
"instance": "sound.redeyes.club",
|
||||||
"tags": [
|
"tags": [
|
||||||
"TagOFF",
|
|
||||||
"8bit",
|
"8bit",
|
||||||
"Alternative",
|
"Alternative",
|
||||||
"Ambient",
|
"Ambient",
|
||||||
|
|
|
@ -27,6 +27,25 @@ funkwhale_api_check_api_limits()
|
||||||
default_curl_opt "$instance_point/rate-limit/" | jj -p
|
default_curl_opt "$instance_point/rate-limit/" | jj -p
|
||||||
}
|
}
|
||||||
|
|
||||||
|
funkwhale_api_tags()
|
||||||
|
{
|
||||||
|
mkdir -p tags_db
|
||||||
|
if [ ! -f "tags_db/tags_$instance" ]; then
|
||||||
|
tagsload=$(default_curl_opt "$instance_point/tags?playable=true")
|
||||||
|
pageindex=$(echo $tagsload | jj next)
|
||||||
|
echo $tagsload | jj -l results.#.name | sed 's/"//g' > tags_db/tags_$instance
|
||||||
|
clear
|
||||||
|
while [ -n "$pageindex" ]; do
|
||||||
|
echo "Loading... +$(echo $tagsload | jj results.#) tags"
|
||||||
|
echo $tagsload | jj -l results.#.name | sed 's/"//g' >> tags_db/tags_$instance
|
||||||
|
pageindex=$(echo $tagsload | jj next)
|
||||||
|
tagsload=$(default_curl_opt "$pageindex")
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
tag=$(cat tags_db/tags_$instance | fzy)
|
||||||
|
}
|
||||||
|
|
||||||
funkwhale_api_get_tracks()
|
funkwhale_api_get_tracks()
|
||||||
{
|
{
|
||||||
default_curl_opt \
|
default_curl_opt \
|
||||||
|
@ -310,14 +329,18 @@ case "$choice" in
|
||||||
ordering=$(echo 'title\n-title\ncreation_date\n-creation_date\nrelease_date\n-release_date\nrandom' | fzy)
|
ordering=$(echo 'title\n-title\ncreation_date\n-creation_date\nrelease_date\n-release_date\nrandom' | fzy)
|
||||||
export ordering
|
export ordering
|
||||||
echo 'Tags:'
|
echo 'Tags:'
|
||||||
tag=$(jj -l -i config.json tags | sed 's/"//g' | fzy)
|
|
||||||
if [ "$tag" = "TagOFF" ]; then
|
tag=$(echo "TagOFF\nTags from instance\n$(jj -l -i config.json tags | sed 's/\"//g')" | fzy)
|
||||||
tag=
|
case $tag in
|
||||||
fi
|
"TagOFF") tag= ;;
|
||||||
|
"Tags from instance") funkwhale_api_tags ;;
|
||||||
|
esac
|
||||||
export tag
|
export tag
|
||||||
echo 'Enter page number: '
|
echo 'Enter page number: '
|
||||||
read page
|
read page
|
||||||
funkwhale_menu_tracks $page ;;
|
funkwhale_menu_tracks $page
|
||||||
|
tag=
|
||||||
|
;;
|
||||||
|
|
||||||
"$albumsmenu")
|
"$albumsmenu")
|
||||||
echo 'Enter page number: '
|
echo 'Enter page number: '
|
||||||
|
|
Loading…
Reference in a new issue