diff options
Diffstat (limited to 'testTheThing/xhtml/scripts/youtube_subs_export.py')
-rw-r--r-- | testTheThing/xhtml/scripts/youtube_subs_export.py | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/testTheThing/xhtml/scripts/youtube_subs_export.py b/testTheThing/xhtml/scripts/youtube_subs_export.py deleted file mode 100644 index 6a36840..0000000 --- a/testTheThing/xhtml/scripts/youtube_subs_export.py +++ /dev/null @@ -1,51 +0,0 @@ -import sys - -""" -This little script lets you export your entire youtube subscriptions list to a opml file. - -To use it go to your google account and go to your user data collection and find the part on youtube to download your subscriptions. -It will give you a subscriptions.csv file and pass that file to the script and it will output the rss opml data to stdout. -Do what you need with that data. -""" - -# XML doesn't like some characters -def fix_name(name): - no_no_list = ["\n", '"', "&"] - name = "".join(filter(lambda x: x not in no_no_list, name)) - return name - -def main(): - - # Get name of the csv file. - if len(sys.argv) < 1: - print("File name required") - sys.exit() - - file_name = sys.argv[1] - - with open(file_name, "r") as fp: - - print('<?xml version="1.0" encoding="UTF-8"?>') - print('<opml version="2.0">') - print('<head><title>OPML Feeds</title></head>') - print('<body>') - - for line in fp.readlines()[1::]: # Skips the first line. - - # Empty line. - if line == "\n": - continue - - line_data = line.split(",") - feed_url = f"https://www.youtube.com/feeds/videos.xml?channel_id={line_data[0]}" - - print(f'\t<outline text="{fix_name(line_data[2])}" type="rss" xmlUrl="{feed_url}"/>') - - - print('</body>') - print('</opml>') - - -if __name__ == "__main__": - main() - |