summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkaa <kaa@disroot.org>2025-07-30 22:33:26 -0700
committerkaa <kaa@disroot.org>2025-07-30 22:33:26 -0700
commitc4c2fb20e7c07aacfa176b0e3328574f271abeb3 (patch)
treee5731def80b2946700ce0c04c1275826f061685d
parent8a0a76d4170fc6ad75e49477dae706d797c2c2ac (diff)
quoting, reality
-rwxr-xr-xytpoll17
1 files changed, 12 insertions, 5 deletions
diff --git a/ytpoll b/ytpoll
index b299027..4fa1de5 100755
--- a/ytpoll
+++ b/ytpoll
@@ -1,18 +1,23 @@
#!/bin/sh
# Channel URLs separated by spaces
-channels="https://www.youtube.com/channel/UCsvn_Po0SmunchJYOWpOxMg"
+channels="https://www.youtube.com/channel/UCsvn_Po0SmunchJYOWpOxMg https://www.youtube.com/channel/UCusoqN-C8Bj9LvROvrl7nJA"
# 720p60fps av1 codec
vq=398
# Best quality audio opus codec
aq=251
# output directory
-out=$HOME/vid/yt
+out=$HOME/tmp/bank/vid/yt
# number of latest videos
n=10
# internal use
tmp=/tmp/ytpoll
+wrk=/tmp/ytpoll_wrk
+if ! [ -d $wrk ]
+then
+ mkdir $wrk
+fi
index()
{
@@ -25,19 +30,21 @@ dl()
video=$1
# 20250729 How I Met Goldilocks rg344jf29.webm
- yt-dlp -o "$out/%(channel)s/%(upload_date)s %(fulltitle)s %(id)s.%(ext)s" -o "thumbnail:$out/%(channel)s/%(upload_date)s %(fulltitle)s %(id)s.%(ext)s" -o "description:$out/%(channel)s/%(upload_date)s %(fulltitle)s %(id)s.%(ext)s" --write-sub --write-auto-sub --sub-lang "en.*" --write-thumbnail --write-description --embed-metadata --embed-subs -f $vq+$aq $video
+ yt-dlp -o "$wrk/%(channel)s/%(upload_date)s %(fulltitle)s %(id)s.%(ext)s" -o "thumbnail:$wrk/%(channel)s/%(upload_date)s %(fulltitle)s %(id)s.%(ext)s" -o "description:$wrk/%(channel)s/%(upload_date)s %(fulltitle)s %(id)s.%(ext)s" --write-sub --write-auto-sub --sub-lang "en.*" --write-thumbnail --write-description --embed-metadata --embed-subs -f $vq+$aq $video
+ mv $wrk/* $out
}
check()
{
# Get channel name
channel="$(< $tmp jq -c '.channel' | tr -d \")"
- < $tmp jq -c '.entries[]' | head -$n | jq -c '(.url, .id)' | paste - - | tr -d \" | while read -r video
+ < $tmp jq -c '.entries[].entries[]' | head -$n | jq -c '(.url, .id)' | paste - - | tr -d \" | while read -r video
do
# check without accessing YT if video is downloaded
url=$(echo $video | sed -e 's| .*||')
id=$(echo $video | sed -e 's|.* ||')
- if ! [ -f $out/$channel/*$id.webm ]
+ ls "$out"/"$channel"/*"$id".webm 1>/dev/null 2>/dev/null 3>/dev/null
+ if [ $? -ne 0 ]
then
dl $url
fi