mirror of
https://github.com/foo-dogsquared/dotfiles.git
synced 2025-01-30 22:57:54 +00:00
Update the scripts to be more "correct"
This commit is contained in:
parent
4e8f036b73
commit
5017a6725c
@ -1,7 +1,10 @@
|
||||
#!/usr/bin/env osh
|
||||
#!/usr/bin/env oil
|
||||
|
||||
# Create an interface for select Unicode characters with rofi and copy it into the clipboard.
|
||||
# The characters are extracted from the Unicode Character Database (https://www.unicode.org/ucd/).
|
||||
# It requires a tag name or an XPath similarly used for Python's `xml.etree.ElementTree.Element.findall`.
|
||||
# See the following link for more information.
|
||||
# (https://docs.python.org/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.findall)
|
||||
|
||||
# Dependencies:
|
||||
# * Oil shell
|
||||
@ -11,8 +14,9 @@
|
||||
# * awk
|
||||
|
||||
# Set to use Oil features and strictness.
|
||||
shopt --set strict:all oil:all
|
||||
shopt --set strict:all
|
||||
|
||||
var QUERY = ARGV[0]
|
||||
var UCD_VERSION = "13.0.0"
|
||||
var UCD_XML_URL = "https://www.unicode.org/Public/$UCD_VERSION/ucdxml/ucd.nounihan.grouped.zip"
|
||||
var CACHE = ${XDG_CACHE_DIR:-$HOME/.cache/unicode-character-database}
|
||||
@ -26,7 +30,7 @@ if test ! -f $CACHE/ucd.zip {
|
||||
# Compared to the other variations, it is only ~6MB compared to ~55MB for the flat variation.
|
||||
# Also, it requires more conditional handling than a simple shell script at this point.
|
||||
# I could've made this script entirely in Python but I want to see what Oil shell is capable of.
|
||||
python <<CODE | rofi -dmenu -p "Choose mathematical character" | awk '{ print $1 }' | xclip -selection clipboard
|
||||
python <<CODE | rofi -dmenu -p "Choose character" | awk '{ print $1 }' | xclip -selection clipboard
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
root = ET.fromstring('''$(unzip -p $CACHE/ucd.zip ucd.nounihan.grouped.xml)''')
|
||||
@ -41,7 +45,7 @@ def print_char(element):
|
||||
for child in list(element):
|
||||
print_char(child)
|
||||
|
||||
math_nodes = root.findall('./{http://www.unicode.org/ns/2003/ucd/1.0}repertoire//*[@Math="Y"]')
|
||||
for point in math_nodes:
|
||||
valid_nodes = root.findall('${QUERY}')
|
||||
for point in valid_nodes:
|
||||
print_char(point)
|
||||
CODE
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env osh
|
||||
#!/usr/bin/env oil
|
||||
|
||||
# Convert a Newpipe database (assuming it was exported within the app) into OPML.
|
||||
# Convert a Newpipe database (assuming it was exported within the app) into OPML v2.
|
||||
|
||||
# Dependencies:
|
||||
# * osh (oil shell) v0.8.5
|
||||
@ -8,19 +8,25 @@
|
||||
# * unzip
|
||||
# * ripgrep v12.1.1
|
||||
# * jq
|
||||
# * file
|
||||
|
||||
# Use the current Oil features in strict mode.
|
||||
# This also enables usage of the syntax.
|
||||
shopt -s strict:all oil:all
|
||||
shopt -s strict:all
|
||||
|
||||
var FILENAME = $1
|
||||
|
||||
# Testing if the given file is a zip file.
|
||||
file $FILENAME | rg "Zip archive data" --quiet || exit 1
|
||||
|
||||
var channel_id_eggex = / 'https://www.youtube.com/channel/' (word) /
|
||||
var NEWPIPE_DB = "newpipe.db"
|
||||
var TEMP_FOLDER_NAME = "newpipe"
|
||||
var channel_id_eggex = / 'https://www.youtube.com/channel/' (word) /
|
||||
var NEWPIPE_DB_QUERY = "SELECT name, url, service_id, group_concat(tag, ',') AS tags FROM (SELECT subscriptions.name, subscriptions.url, subscriptions.service_id, '/' || feed_group.name AS tag
|
||||
FROM subscriptions
|
||||
LEFT JOIN feed_group_subscription_join AS subs_join
|
||||
LEFT JOIN feed_group
|
||||
ON subs_join.subscription_id = subscriptions.uid AND feed_group.uid = subs_join.group_id) GROUP BY name"
|
||||
|
||||
# Print the beginning of the template.
|
||||
cat <<OPML
|
||||
@ -34,23 +40,63 @@ cat <<OPML
|
||||
<body>
|
||||
OPML
|
||||
|
||||
# Simply prints an `<outline>` element formatted approriately for the resulting output.
|
||||
# Don't mind how it is printed right now. :)
|
||||
proc print-outline(title, xml_url, html_url, tags = "") {
|
||||
printf ' <outline type="rss" xmlUrl="%s" htmlUrl="%s" title="%s"' $xml_url $html_url $title
|
||||
|
||||
if test -n $tags {
|
||||
printf ' category="%s"' $tags
|
||||
}
|
||||
|
||||
printf '/>\n'
|
||||
}
|
||||
|
||||
# Print the channels in the OPML body.
|
||||
# This only occurs if the given file does have a Newpipe database.
|
||||
if unzip -l $FILENAME | rg --quiet $NEWPIPE_DB {
|
||||
mkdir $TEMP_FOLDER_NAME && unzip -q -u $FILENAME -d $TEMP_FOLDER_NAME
|
||||
trap "rm --recursive $TEMP_FOLDER_NAME" EXIT
|
||||
while read channel {
|
||||
sqlite3 "${TEMP_FOLDER_NAME}/${NEWPIPE_DB}" "${NEWPIPE_DB_QUERY}" --csv --header \
|
||||
| dasel select --parser csv --multiple --selector '.[*]' --compact --write json \
|
||||
| while read channel {
|
||||
echo $channel | json read :channel
|
||||
setvar name = channel['name']
|
||||
setvar url = channel['url']
|
||||
setvar service_id = channel['service_id']
|
||||
setvar tags = channel['tags']
|
||||
|
||||
# The channel ID should only match YouTube channel URLs.
|
||||
setvar channel_id = $(echo $url | sed --quiet --regexp-extended "s|$channel_id_eggex|\\1|p")
|
||||
# The `service_id` column indicates where the channel came from the selection of platforms PeerTube offers.
|
||||
# Since the way to handle each platform differs to get the required data, we're throwing them in a case switch.
|
||||
case $service_id {
|
||||
# YouTube
|
||||
'0') {
|
||||
setvar channel_id = $(echo $url | sed --quiet --regexp-extended "s|$channel_id_eggex|\\1|p")
|
||||
setvar xml_url = "https://www.youtube.com/feeds/videos.xml?channel_id=${channel_id}"
|
||||
}
|
||||
;;
|
||||
|
||||
if test -z $channel_id { continue }
|
||||
# Peertube instances
|
||||
'3') {
|
||||
# This naive solution just goes through the domain with the assumption that the database is exported properly from the app and not tampered with.
|
||||
# It can go into an infinite loop so take caution for now.
|
||||
setvar domain = $(echo $url | cut --delimiter='/' --fields='-3')
|
||||
setvar _domain_part_index = 4
|
||||
until (Bool($(curl --silent "$domain/api/v1/config/about" | dasel --parser json --selector ".instance.name"))) {
|
||||
setvar domain = $(echo $url | cut --delimiter='/' --fields="-$_domain_part_index")
|
||||
setvar _domain_part_index = Int($_domain_part_index) + 1
|
||||
}
|
||||
|
||||
echo " <outline type=\"rss\" xmlUrl=\"https://www.youtube.com/feeds/videos.xml?channel_id=$channel_id\" htmlUrl=\"$url\" title=\"$name\"/>"
|
||||
} <<< $(sqlite3 "$TEMP_FOLDER_NAME/$NEWPIPE_DB" "SELECT name, url FROM subscriptions" --csv --header | dasel select --parser csv --multiple --selector '.[*]' --compact --write json)
|
||||
setvar channel_url = $(echo $url | cut --delimiter='/' --fields='4-')
|
||||
setvar feed_type = $(echo $channel_url | rg "video-channels" --quiet && echo "videoChannelId" || echo "accountId")
|
||||
setvar channel_id = $(curl "${domain}/api/v1/${channel_url}" --silent | dasel --parser json --selector '.id')
|
||||
setvar xml_url = "$domain/feeds/videos.atom?$feed_type=$channel_id"
|
||||
}
|
||||
;;
|
||||
}
|
||||
|
||||
print-outline $name $xml_url $url $tags
|
||||
}
|
||||
}
|
||||
|
||||
# Print the remaining parts of the document.
|
||||
|
2
bin/ocr
2
bin/ocr
@ -15,5 +15,5 @@
|
||||
set -o pipefail
|
||||
|
||||
notify-send "Select a region for the OCR"
|
||||
maim --select --hidecursor | magick mogrify -modulate 100,0 -resize 400% png:- | tesseract - stdout
|
||||
maim --select --hidecursor | magick mogrify -modulate 100,0 -resize 400% png:- | tesseract - stdout | xclip -selection clipboard
|
||||
|
||||
|
13
makefile
13
makefile
@ -1,13 +1,14 @@
|
||||
MANIFEST := nixos-zilch
|
||||
FLAGS :=
|
||||
|
||||
.PHONY = install
|
||||
.PHONY: install
|
||||
install:
|
||||
./vtsm --manifest ".vtsm/${MANIFEST}.json" --commands "mkdir -p {location} && stow --stow {package} --target {location}"
|
||||
./vtsm --manifest ".vtsm/${MANIFEST}.json" --commands "mkdir -p {location} && stow --stow {package} --target {location}" $(FLAGS)
|
||||
|
||||
.PHONY = reinstall
|
||||
.PHONY: reinstall
|
||||
reinstall:
|
||||
./vtsm --manifest ".vtsm/${MANIFEST}.json" --commands "mkdir -p {location} && stow --restow {package} --target {location}"
|
||||
./vtsm --manifest ".vtsm/${MANIFEST}.json" --commands "mkdir -p {location} && stow --restow {package} --target {location}" $(FLAGS)
|
||||
|
||||
.PHONY = clean
|
||||
.PHONY: clean
|
||||
clean:
|
||||
./vtsm --manifest ".vtsm/${MANIFEST}.json" --commands "stow --delete {package} --target {location}"
|
||||
./vtsm --manifest ".vtsm/${MANIFEST}.json" --commands "stow --delete {package} --target {location}" $(FLAGS)
|
||||
|
210
newsboat/urls
210
newsboat/urls
@ -1,176 +1,44 @@
|
||||
# All of the unread articles
|
||||
# Take note it will result in a very slow loading
|
||||
# "query:Unread Articles:unread = \"yes\""
|
||||
|
||||
# Blogs
|
||||
https://alex-hhh.github.io/feeds/all.rss.xml blog.personal
|
||||
https://blog.jwf.io/feed/ blog.personal
|
||||
https://blog.yoshuawuyts.com/rss.xml blog.personal
|
||||
https://chrispenner.ca/atom.xml blog.personal
|
||||
https://christine.website/blog.atom blog.personal
|
||||
https://drewdevault.com/blog/index.xml blog.personal
|
||||
http://distill.pub/rss.xml blog.personal
|
||||
https://euandre.org/feed.blog.en.atom blog.personal
|
||||
https://fasterthanli.me/index.xml blog.personal
|
||||
https://www.gwern.net/index.rss blog.personal
|
||||
https://jcs.org/rss blog.personal
|
||||
https://lukesmith.xyz/rss.xml blog.personal
|
||||
https://ma.ttias.be/cronweekly/index.xml blog.personal
|
||||
https://magnusson.io/index.xml blog.personal
|
||||
https://matienzo.org/posts/index.xml blog.personal
|
||||
https://protesilaos.com/codelog.xml blog.personal
|
||||
https://simblob.blogspot.com/feeds/posts/default blog.personal gamedev
|
||||
http://tonsky.me/blog/atom.xml blog.personal
|
||||
https://venam.nixers.net/blog/feed.xml blog.personal
|
||||
https://willschenk.com/feed.xml blog.personal
|
||||
https://www.malloc47.com/rss.xml blog.personal
|
||||
https://www.copetti.org/index.xml blog.personal computer.architecture
|
||||
https://www.agwa.name/blog/feed blog.personal computer.security
|
||||
|
||||
https://www.davidrevoy.com/feed/rss blog.personal art
|
||||
|
||||
# Software blogs
|
||||
https://kde.org/announcements/index.xml blog.software dev.linux
|
||||
https://guix.gnu.org/feeds/blog.atom blog.software dev.linux
|
||||
https://web.dev/feed.xml blog.software dev.web
|
||||
|
||||
# Articles (they're different from blogs)
|
||||
https://annoying.technology/index.xml miscellany
|
||||
|
||||
# Combine all blogs under the blog filter
|
||||
"query:Blog:tags # \"blog\""
|
||||
|
||||
# News
|
||||
https://www.reddit.com/r/linux/.rss news
|
||||
https://news.ycombinator.com/rss news
|
||||
https://weekly.nixos.org/feeds/all.rss.xml news
|
||||
|
||||
# Podcasts
|
||||
https://coder.show/rss
|
||||
https://alex-hhh.github.io/feeds/all.rss.xml "blog.personal"
|
||||
https://blog.jwf.io/feed/ "blog.personal"
|
||||
https://blog.yoshuawuyts.com/rss.xml "blog.personal"
|
||||
https://chrispenner.ca/atom.xml "blog.personal"
|
||||
https://christine.website/blog.atom "blog.personal"
|
||||
https://drewdevault.com/blog/index.xml "blog.personal"
|
||||
http://distill.pub/rss.xml "blog.personal"
|
||||
https://euandre.org/feed.blog.en.atom "blog.personal"
|
||||
https://fasterthanli.me/index.xml "blog.personal"
|
||||
https://www.gwern.net/index.rss "blog.personal"
|
||||
https://jcs.org/rss "blog.personal"
|
||||
https://lukesmith.xyz/rss.xml "blog.personal"
|
||||
https://ma.ttias.be/cronweekly/index.xml "blog.personal"
|
||||
https://magnusson.io/index.xml "blog.personal"
|
||||
https://matienzo.org/posts/index.xml "blog.personal"
|
||||
https://protesilaos.com/codelog.xml "blog.personal"
|
||||
https://simblob.blogspot.com/feeds/posts/default "blog.personal" "gamedev"
|
||||
http://tonsky.me/blog/atom.xml "blog.personal"
|
||||
https://venam.nixers.net/blog/feed.xml "blog.personal"
|
||||
https://willschenk.com/feed.xml "blog.personal"
|
||||
https://www.malloc47.com/rss.xml "blog.personal"
|
||||
https://bernsteinbear.com/feed.xml "blog.personal" "computer.any"
|
||||
https://www.copetti.org/index.xml "blog.personal" "computer.architecture"
|
||||
https://www.agwa.name/blog/feed "blog.personal" "computer.security"
|
||||
https://jvns.ca/atom.xml "blog.personal" "computer.any"
|
||||
https://blog.jessfraz.com/index.xml "blog.personal" "computer" "science"
|
||||
https://wingolog.org/feed/atom "blog.personal" "computer.compilers"
|
||||
https://palant.info/rss.xml "blog.personal" "web.dev" "web.security"
|
||||
https://www.owlfolio.org/index.atom "blog.personal"
|
||||
https://www.joshwcomeau.com/rss.xml "blog.personal" "computer.graphics" "web.dev" "web.design"
|
||||
https://www.davidrevoy.com/feed/rss "blog.personal" "art"
|
||||
https://kde.org/announcements/index.xml "blog.software" "dev.linux"
|
||||
https://guix.gnu.org/feeds/blog.atom "blog.software" "dev.linux"
|
||||
https://web.dev/feed.xml "blog.software" "dev.web"
|
||||
https://annoying.technology/index.xml "miscellany"
|
||||
https://standardebooks.org/rss/new-releases "books"
|
||||
http://feed.syntax.fm/rss "podcast" "dev.web"
|
||||
https://coder.show/rss "podcast"
|
||||
https://fossandcrafts.org/rss-feed-ogg.rss
|
||||
https://librelounge.org/rss-feed-ogg.rss
|
||||
https://linuxunplugged.com/rss
|
||||
https://selfhosted.show/rss
|
||||
https://feeds.twit.tv/sn.xml
|
||||
|
||||
# Peertube subscriptions
|
||||
https://video.ploud.fr/feeds/videos.xml?videoChannelId=22019 "Tim Krief" peertube gamedev
|
||||
|
||||
# YouTube subscriptions
|
||||
"query:YouTube:tags # \"YouTube Subscriptions\""
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC-3J5xNrAbTLbU1gN8mMpOA "~Nitro Rad" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC-90KuSWRVLImW4xHWFYMnQ "~Shady Cicada" youtube music
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC-cY3DcYladGdFQWIKL90SQ "~Jon Ringer" youtube coding
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC-yuWVUplUJZvieEligKBkA "~javidx9" youtube coding
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC1zZE_kJ8rQHgLTVfobLi_g "~The King of Random" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2I6Et1JkidnnbWgJFiMeHA "~Steve1989MREInfo" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC3-0S7vXfwYY2jj5EkMpymA "~Nick Zammeti" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC3ogrx6d9oohf6D42G44j1A "~Terrible Writing Advice" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC4a-Gbdw7vOaccHmFo40b9g "~Khan Academy" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC6107grRI4m0o2-emgoDnAA "~SmarterEveryDay" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC6mIxFTvXkWQVEHPsEdflzQ "~GreatScott!" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC6nSFpj9HTCZ5t-N3Rm3-HA "~Vsauce" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC7590VTWe6m0kq3gJcgLINg "~The Taylor Series" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw "~ThePrimeagen" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC8uT9cgJorJPWu7ITLGo9Ww "~The 8-Bit Guy" youtube computer
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA "~Computerphile" youtube computer
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9Z1XWw1kmnvOOFsj6Bzy2g "~Blackthornprod" youtube gamedev
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC9z7EZAbkphEMg0SP7rw44A "~carykh" youtube programming
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCBB7sYb14uBtk8UqSQYc9-w "~Steve Ramsey - Woodworking for Mere Mortals" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCBa659QWEk1AI4Tg--mrJ2A "~Tom Scott" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCBlqfZZYQWKyr6qLAB7LINw "~ICTP Postgraduate Diploma Programme" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCC26K7LTSrJK0BPAUyyvtQg "~Brandon James Greer" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCD6VugMZKRhSyzWEWA9W2fg "~SsethTzeentach" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEBb1b_L6zDS3xTUrIALZOw "~MIT OpenCourseWare" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEOXxzW2vU0P-0THehuIIeg "~Captain Disillusion" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEQXp_fcqwPcqrzNtWJ1w9w "~Logos By Nick" youtube graphics
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCEbYhDd6c6vngsF5PQpFVWg "~Tsoding" youtube coding
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCF6F8LdCSWlRwQm_hfA2bcQ "~Coding Math" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCFe6jenM1Bc54qtBsIJGRZQ "~patrickJMT" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCFqaprvZ2K5JOULCvr18NTQ "~How to Adult" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCG-KntY7aVnIGXYEBQvmBAQ "~Thomas Frank" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCGgpthBWDbFX2GSljMw-MdQ "~BoroCG" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCHnj59g7jezwTy5GeL8EA_g "~MindYourDecisions" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCHnyfMqiRRG1u-2MsSQLbXA "~Veritasium" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCI4I6ldZ0jWe7vXpUVeVcpg "~Household Hacker" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCJHA_jMfCvEnv-3kRjTCQXw "~Binging with Babish" youtube cooking
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCJYVW4HVrMWpUvvsjPQc8-Q "~DorianDotSlash" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCK9Hl6LXPaooxMTvsOutw3A "~GaMetal" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCLB7AzTwc6VFZrBsO2ucBMg "~Robert Miles" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCLx053rWZxCiYWsBETgdKrQ "~LGR" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCMOqf8ab-42UUQIdVoKwjlQ "~Practical Engineering" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCNepEAWZH0TBu7dkxIbluDw "~Dad, how do I?" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCOPcid5e7WN9T55HCEwZlWg "~BDPAPMEJM" youtube music
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCORkUj9eaM2aDJM1VYyDDTA "~Sam Hogan" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCQ-W1KE9EYfdxhL6S4twUNw "~The Cherno" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCQWeW0mZYQL-3Boj5iNMw4g "~David Evans" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCQkd05iAYed2-LOmhjzDG6g "~LowSpecGamer" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCS0N5baNlQWJCUrhCEo8WlA "~Ben Eater" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSC1HqVmTaE4Shn32ihbC7w "~Bobby Duke Arts" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSYniDuuSiM-HutLDTBbIlg "~Vtuberアンドロイド・レイくん&ゼロちゃん" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSju5G2aFaWMqn-_0YBtq5A "~Stand-up Maths" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCSl5Uxu2LyaoAoMMGp6oTJA "~Atomic Shrimp" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCTi0V5iwClvjUba6nI2bI3w "~Jelle Vermandere" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUHW94eEFW7hkUMVaZz4eDg "~minutephysics" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUQo7nzH1sXVpzL92VesANw "~DIY Perks" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUaiGrBfRCaC6pL7ZnZjWbg "~JK Brickworks" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCUmLRMERmJrmUtgnbFfknAg "~Randall" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCViAcUsxrffb-dH50U5VHqw "~Advanced Placement" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCVyE_6jEtVZGmYGXtUOL5FQ "~Rag 'n' Bone Brown" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCWnlQMQ-ACfhpD68yWRsnJw "~Tod's Workshop" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCX6b17PVsYBQ0ip5gyeme-Q "~CrashCourse" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCY1kMZp36IQSyNx_9h4mpCg "~Mark Rober" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCYO_jab_esuFRV4b17AJtAw "~3Blue1Brown" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCYVyyyttdLFyZemFsEyPLCw "~Colanderp" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCZFUrFoqvqlN8seaAeEwjlw "~Grant Abbitt" youtube 3d-modelling
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCZYTClx2T1of7BRZ86-8fow "~SciShow" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC_OtnV-9QZmBj6oWBelMoZw "~insaneintherainmusic" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC_SvYP0k05UKiJ_2ndB02IA "~blackpenredpen" youtube math
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UC_iD0xppBwwsrM9DegC5cQQ "~Jon Gjengset" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCa5tblTbBm09lMEdMblIq-A "~Atmacoustics" youtube music
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCaTznQhurW5AaiYPbhEA-KA "~Molly Rocket" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCafxR2HWJRmMfSdyZXvZMTw "~LOOK MUM NO COMPUTER" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCaoqVlqPTH78_xjTjTOMcmQ "~Miziziziz" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCbfYPyITQ-7l4upoX8nvctg "~Two Minute Papers" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCcabW7890RKJzL968QWEykA "~CS50" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCdJdEguB1F1CiYe7OEi3SBg "~JonTronShow" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCdmAhiG8HQDlz8uyekw4ENw "~Inigo Quilez" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCeGGpOehPGG7vQMUVc7tG8Q "~Saberspark" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCekQr9znsk2vWxBo3YiLq2w "~You Suck At Cooking" youtube cooking
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCerEIdrEW-IqwvlH8lTQUJQ "~Tech Tangents" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCfIqCzQJXvYj9ssCoHq327g "~How To Make Everything" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCfVFSjHQ57zyxajhhRc7i0g "~GameHut" youtube gamedev
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCfzlCWGWYyIQ0aLC5w48gBQ "~sentdex" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCgmOd6sRQRK7QoSazOfaIjQ "~Emma's Goodies" youtube cooking
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UChWv6Pn_zP0rI6lgGt3MyfA "~AvE" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCiLgdNKZCiod7k5nsrUkOJA "~Simply Electronics" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCijjo5gfAscWgNCKFHWm1EA "~Mozilla Hacks" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCivA7_KLKWo43tFcCkFvydw "~Applied Science" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCjFaPUcJU1vwk193mnW_w1w "~Modern Vintage Gamer" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCjdHbo8_vh3rxQ-875XGkvw "~3DSage" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCkY047vYjF92-8HcoVTXAOg "~Coding Secrets" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCkefXKtInZ9PLsoGRtml2FQ "~Professor Messer" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UClcE-kVhqyiHCcjYwcpfj9w "~LiveOverflow" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UClq42foiSgl7sSpLupnugGA "~D!NG" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCm22FAXZMw1BaWeFszZxUKw "~Kitboga" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCmkP178NasnhR3TWQyyP4Gw "~How To Mechatronics" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCmtyQOKKmrMVaKuRXz02jbQ "~Sebastian Lague" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCoHhuummRZaIVX7bD4t2czg "~Professor Leonard" youtube math
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCodbH5mUeF-m_BsNueRDjcw "~Overly Sarcastic Productions" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCosnWgi3eorc1klEQ8pIgJQ "~Afrotechmods" youtube electronics
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A "~Numberphile" youtube math
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCq0EGvLTyy-LLT1oUSO_0FQ "~Eddie Woo" youtube math
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCqJ-Xo29CKyLTjn6z2XwYAw "~Game Maker's Toolkit" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCr-5TdGkKszdbboXXsFZJTQ "~Gamefromscratch" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCrv269YwJzuZL3dH5PCgxUw "~CodeParade" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCtAIs1VCQrymlAnw3mGonhw "~Flammable Maths" youtube math
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCtxCXg-UvSnTKPOzLH4wJaQ "~Coding Tech" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCu6mSoMNzHQiBIOCkHUa2Aw "~Cody'sLab" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCvjgXvBlbQiydffZU7m1_aw "~The Coding Train" youtube coding math
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxO_ya-RmAXCXJCU54AxYFw "~New Frame Plus" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxQbYGpbdrh-b2ND-AfIybg "~Maker's Muse" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxboW7x0jZqFdvMdCFKTMsQ "~GDQuest" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxqAWLTk1CmBvZFPzeZMd9A "~Domain of Science" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCxzC4EngIsMrPmbm6Nxvb-A "~Scott Manley" youtube
|
||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCz6zvgkf6eKpgqlUZQstOtQ "~Bulby" youtube music
|
||||
https://video.ploud.fr/feeds/videos.xml?videoChannelId=22019 "peertube" "gamedev"
|
||||
|
2
vtsm
2
vtsm
@ -120,7 +120,7 @@ def setup_logging():
|
||||
"""
|
||||
Setup the logger instance.
|
||||
"""
|
||||
logging.basicConfig(format="[%(levelname)s] %(module)s: %(message)s", level=logging.INFO, stream=sys.stdout)
|
||||
logging.basicConfig(format="[%(levelname)s] %(message)s", level=logging.INFO, stream=sys.stdout)
|
||||
|
||||
|
||||
def setup_args():
|
||||
|
Loading…
Reference in New Issue
Block a user