peertube_torrent_url/get_magnets_url.sh

55 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
domain='xxivproduction.video'
channel='kafazen_channel'
count=100 # set to 1 for get latest video from channel
peertube_api_get_channel_videos ()
{
curl -S "https://$domain/api/v1/video-channels/$channel/videos?count=$count&skipCount=true"
}
peertube_api_get_video ()
{
curl -S "https://$domain/api/v1/videos/$1"
}
echo 'Getting uuids...'
get_uuids=$(peertube_api_get_channel_videos | jj -l data.#.uuid | sed 's/"//g')
echo 'Done\n'
get_all_magnets ()
{
echo 'Getting names and magnet uri...'
for uuid in $get_uuids; do
video=$(peertube_api_get_video $uuid)
echo $video | jj name >> "$channel".md
echo '```' >> "$channel".md
echo $video | jj -l 'streamingPlaylists' | jj -l 'files.#.magnetUri' >> "$channel".md
echo '```' >> "$channel".md
sleep 1
done
}
get_latest_magnet_video ()
{
echo 'Getting name and magnet uri...'
for uuid in $get_uuids; do
video=$(peertube_api_get_video $uuid)
echo $video | jj name >> temp_"$channel".md
echo '```' >> temp_"$channel".md
echo $video | jj -l 'streamingPlaylists' | jj -l 'files.#.magnetUri' >> temp_"$channel".md
echo '```' >> temp_"$channel".md
cat "$channel".md >> temp_"$channel".md
mv temp_"$channel".md "$channel".md
done
}
if [ $count -eq 1 ]; then
get_latest_magnet_video
else
get_all_magnets
fi
echo 'Done'