bashtube/webroot/playlist.shs

34 lines
937 B
Bash

#!/bin/bash
title=$(curl -s "https://www.youtube.com/feeds/videos.xml?playlist_id=${get_data[list]}" | grep title | head -n 1 | sed -s 's/ <title>//;s/<\/title>//')
declare -A strings
if [[ ${cfg[template]} != 'retro' ]]; then
meta[title]="$title"
#source templates/head.sh
source "${cfg[namespace]}/templates/header.shs"
fi
if [[ "${get_data[list]}" ]]; then
data=$(yt-dlp --cookies ${cfg[_cookies]} -j --flat-playlist "https://www.youtube.com/playlist?list=${get_data[list]}")
else
strings[playlist]="Please specify id"
fi
IFS=$'\n'
video_title=($(jq -r '.title' <<< $data))
video_id=($(jq -r '.id' <<< $data))
nested_declare list
declare -A item
for (( i=0; i<${#video_id[@]}; i++ )); do
item[id]="${video_id[$i]}"
item[playlist]="${get_data[list]}"
item[title]="${video_title[$i]}"
nested_add list item
done
strings[_playlist]="list"
render strings "${cfg[namespace]}/templates/themes/${cfg[template]}/playlist.html"