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"