diff --git a/bin/choose-math-char b/bin/choose-unicode-char similarity index 76% rename from bin/choose-math-char rename to bin/choose-unicode-char index bc34650..0cc897d 100755 --- a/bin/choose-math-char +++ b/bin/choose-unicode-char @@ -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 < OPML +# Simply prints an `` 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 ' \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 " " - } <<< $(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. diff --git a/bin/ocr b/bin/ocr index 15bb26d..86984ed 100755 --- a/bin/ocr +++ b/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 diff --git a/makefile b/makefile index 24098f8..1623331 100755 --- a/makefile +++ b/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) diff --git a/newsboat/urls b/newsboat/urls index f440535..2e44d9c 100755 --- a/newsboat/urls +++ b/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" diff --git a/vtsm b/vtsm index e757a6d..333986f 100755 --- a/vtsm +++ b/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():