Adding script for YT video downloads. - dotfiles - These are my dotfiles. There are many like it, but these are mine.
 (HTM) git clone git://jay.scot/dotfiles
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit 39c100a9469c77bef532665a87e240b1d67a7eea
 (DIR) parent 82950c175a46c3eb86e688f7937b1652c9bca478
 (HTM) Author: Jay Scott <me@jay.scot>
       Date:   Sun,  8 Jun 2025 19:13:46 +0100
       
       Adding script for YT video downloads.
       
       Diffstat:
         A bin/ytd                             |      72 +++++++++++++++++++++++++++++++
         M newsraft/feeds                      |      54 ++++++++++++++++----------------
       
       2 files changed, 99 insertions(+), 27 deletions(-)
       ---
 (DIR) diff --git a/bin/ytd b/bin/ytd
       @@ -0,0 +1,72 @@
       +#!/bin/sh
       +
       +# yt-dlp subscription fetcher
       +# jay <me@jay.scot>
       +
       +savepath="$HOME/media/youtube"
       +cachedir="$HOME/.cache/yt_dl"
       +yt="yt-dlp"
       +baseurl="https://www.youtube.com/playlist?list="
       +
       +info() {
       +        printf "\033[35mYT ➤\033[36m %s\033[0m\n" "$1"
       +}
       +
       +main() {
       +        mkdir -p "${cachedir}"
       +        mkdir -p "${savepath}"
       +
       +        action="$1"
       +        "$action" "steve1989mreinfo" "UU2I6Et1JkidnnbWgJFiMeHA"
       +        "$action" "dave_snider" "UU7uO9V1Frl_wPd9d1qOm_RQ"
       +        "$action" "bright_sun_films" "UU5k3Kc0avyDJ2nG9Kxm9JmQ"
       +        "$action" "simon_wilson" "UUQCrKxBj5Id79syQEsY2Qxg"
       +        "$action" "sidenote" "UURvWwMPr2SmSG7rXXzeEUdA"
       +        "$action" "c90adventures" "UUVqpNG1R72i21jh-nAxEk4A"
       +        "$action" "indigo_traveller" "UUXulruMI7BHj3kGyosNa0jA"
       +        "$action" "pppeter" "UUnHEz9DZ6EAof1-DaQGD_Xw"
       +        "$action" "abroad_in_japan" "UUHL9bfHTxCMi-7vfxQ-AYtg"
       +        "$action" "serpentza" "UUl7mAGnY4jh4Ps8rhhh8XZg"
       +        "$action" "noel_phillips" "UU2O6HDtMOZf9FkUAepz9Atg"
       +        "$action" "the_lazy_peon" "UUE-f0sqi-H7kuLT0YiW9rcA"
       +        "$action" "zav_alsop" "UUcjx6m03fZwtRBFn1Cf7kKQ"
       +        "$action" "steve_marsh" "UUBhQuxcHU3aydk_zTXcbdTg"
       +        "$action" "planes_trains_everything" "UUcKw8Eg0FfRvhIAnC0cPGAA"
       +        "$action" "we_hate_the_cold" "UULmltEyJ0zBsKnL8bWSdn3A"
       +        "$action" "christopher_collects" "UUv8Po8UR9OfhPhPCLjz1d8Q"
       +        "$action" "astonishing_glasgow" "UUIDIqg7LhjLFCyD2awY_38g"
       +        "$action" "drain_cleaning_aus" "UU7sGXeJOixPBgJ3r5R55JYg"
       +        "$action" "mike_okay" "UUpp3cHR9TWVyXqL1AVw4XkA"
       +        "$action" "all_the_gear" "UUSwl4SnA68L8iDfj5gBf-yA"
       +        "$action" "rhykker" "UURl31PWkfF0a3j3hiDRaCGA"
       +        "$action" "signs_of_kelani" "UUsxidPdmPXDlsS3rn7arJsA"
       +        "$action" "brodie_robertson" "UUld68syR8Wi-GY_n4CaoJGA"
       +        "$action" "distrotube" "UUVls1GmFKf6WlTraIb_IaJg"
       +        "$action" "linux_cast" "UUylGUf9BvQooEFjgdNudoQg"
       +}
       +
       +get_video() {
       +        info "Fetching latest from $1"
       +        "$yt" -q --restrict-filename \
       +                --download-archive "${cachedir}/${1}" \
       +                "${baseurl}${2}" \
       +                -o "${savepath}/${1}/%(playlist_index)s_%(title)s.%(ext)s"
       +}
       +
       +catchup() {
       +        info "Catching up on $1"
       +        "$yt" --flat-playlist --get-id \
       +                "${baseurl}${2}" | sed 's/.*/youtube &/' >"${cachedir}/${1}"
       +}
       +
       +case "$1" in
       +-m)
       +        main catchup
       +        ;;
       +-n)
       +        catchup "$2" "$3"
       +        ;;
       +*)
       +        main get_video
       +        ;;
       +esac
 (DIR) diff --git a/newsraft/feeds b/newsraft/feeds
       @@ -21,30 +21,30 @@ https://www.jeffgeerling.com/blog.xml "Jeff Geerling"
        @ GAMING
        https://www.gamingonlinux.com/article_rss.php "Gaming On Linux"
        
       -@ YOUTUBE
       -https://www.youtube.com/feeds/videos.xml?channel_id=UC2I6Et1JkidnnbWgJFiMeHA "Steve1989MREInfo"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UC7uO9V1Frl_wPd9d1qOm_RQ "Dave Snider"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UC5k3Kc0avyDJ2nG9Kxm9JmQ "Bright Sun Films"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCQCrKxBj5Id79syQEsY2Qxg "Simon Wilson"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCRvWwMPr2SmSG7rXXzeEUdA "SideNote"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCVqpNG1R72i21jh-nAxEk4A "c90adventures"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCXulruMI7BHj3kGyosNa0jA "Indigo Traveller"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCnHEz9DZ6EAof1-DaQGD_Xw "PPPeter"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCHL9bfHTxCMi-7vfxQ-AYtg "Abroad in Japan"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCl7mAGnY4jh4Ps8rhhh8XZg "Serpentza"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UC2O6HDtMOZf9FkUAepz9Atg "Noel Phillips"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCE-f0sqi-H7kuLT0YiW9rcA "The Lazy Peon"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCcjx6m03fZwtRBFn1Cf7kKQ "Zav Alsop"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCBhQuxcHU3aydk_zTXcbdTg "Steve Marsh"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCcKw8Eg0FfRvhIAnC0cPGAA "Planes, Trains, Everything"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCLmltEyJ0zBsKnL8bWSdn3A "We Hate The Cold"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCv8Po8UR9OfhPhPCLjz1d8Q "Christopher Collects"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCIDIqg7LhjLFCyD2awY_38g "Astonishing Glasgow"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UC7sGXeJOixPBgJ3r5R55JYg "Drain Cleaning Aus"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCpp3cHR9TWVyXqL1AVw4XkA "Mike Okay"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCSwl4SnA68L8iDfj5gBf-yA "All the Gear"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCRl31PWkfF0a3j3hiDRaCGA "Rhykker"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCsxidPdmPXDlsS3rn7arJsA "Signs Of Kelani"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "Brodie Robertson"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "DistroTube"
       -https://www.youtube.com/feeds/videos.xml?channel_id=UCylGUf9BvQooEFjgdNudoQg "Linux Cast"
       +#@ YOUTUBE
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UC2I6Et1JkidnnbWgJFiMeHA "Steve1989MREInfo"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UC7uO9V1Frl_wPd9d1qOm_RQ "Dave Snider"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UC5k3Kc0avyDJ2nG9Kxm9JmQ "Bright Sun Films"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCQCrKxBj5Id79syQEsY2Qxg "Simon Wilson"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCRvWwMPr2SmSG7rXXzeEUdA "SideNote"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCVqpNG1R72i21jh-nAxEk4A "c90adventures"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCXulruMI7BHj3kGyosNa0jA "Indigo Traveller"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCnHEz9DZ6EAof1-DaQGD_Xw "PPPeter"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCHL9bfHTxCMi-7vfxQ-AYtg "Abroad in Japan"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCl7mAGnY4jh4Ps8rhhh8XZg "Serpentza"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UC2O6HDtMOZf9FkUAepz9Atg "Noel Phillips"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCE-f0sqi-H7kuLT0YiW9rcA "The Lazy Peon"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCcjx6m03fZwtRBFn1Cf7kKQ "Zav Alsop"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCBhQuxcHU3aydk_zTXcbdTg "Steve Marsh"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCcKw8Eg0FfRvhIAnC0cPGAA "Planes, Trains, Everything"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCLmltEyJ0zBsKnL8bWSdn3A "We Hate The Cold"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCv8Po8UR9OfhPhPCLjz1d8Q "Christopher Collects"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCIDIqg7LhjLFCyD2awY_38g "Astonishing Glasgow"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UC7sGXeJOixPBgJ3r5R55JYg "Drain Cleaning Aus"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCpp3cHR9TWVyXqL1AVw4XkA "Mike Okay"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCSwl4SnA68L8iDfj5gBf-yA "All the Gear"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCRl31PWkfF0a3j3hiDRaCGA "Rhykker"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCsxidPdmPXDlsS3rn7arJsA "Signs Of Kelani"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "Brodie Robertson"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg "DistroTube"
       +#https://www.youtube.com/feeds/videos.xml?channel_id=UCylGUf9BvQooEFjgdNudoQg "Linux Cast"