From e6e82e4fdff005872ca0793983334be4650a8cba Mon Sep 17 00:00:00 2001 From: Dmitrii Morozov Date: Fri, 2 Feb 2024 19:51:59 +0100 Subject: yt-opml script --- scripts/selfoss-youtube-subs-to-opml.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 scripts/selfoss-youtube-subs-to-opml.py (limited to 'scripts/selfoss-youtube-subs-to-opml.py') diff --git a/scripts/selfoss-youtube-subs-to-opml.py b/scripts/selfoss-youtube-subs-to-opml.py new file mode 100644 index 0000000..3bcfb0c --- /dev/null +++ b/scripts/selfoss-youtube-subs-to-opml.py @@ -0,0 +1,32 @@ +# selfoss-youtube-subs-to-opml.py -- Convert YouTube subscriptions exported +# via Google Takeout (CSV format) into OPML, which can be then imported in Selfoss (https://selfoss.aditu.de/) +# +# Usage: +# python3 selfoss-youtube-subs-to-opml.py subscriptions.csv > yt-subs.opml + +import sys +import csv +from xml.sax.saxutils import escape + +with open(sys.argv[1], newline='') as csvfile: + subscriptions = csv.reader(csvfile, delimiter=',', quotechar='"') + + print(f''' + + + ''') + for subscription in subscriptions: + title = escape(subscription[2]) + channelId = escape(subscription[0]) + print(f''' + ''') + print(''' + + + + ''') \ No newline at end of file -- cgit v1.2.3