#!/usr/bin/env python import time import os import re import xml.dom.minidom import urllib.request def getText(parent, field): return parent.getElementsByTagName(field)[0].childNodes[0].data feed = "https://www.destroyallsoftware.com/screencasts/feed" showname = "Destroy All Software" shownameDotted = "Destroy.All.Software" season = 1 extension = "nfo" videoExtension = "mov" credits = "Gary Bernhardt" feed = xml.dom.minidom.parse(urllib.request.urlopen(feed)); channel = feed.getElementsByTagName("channel")[0] episodes = channel.getElementsByTagName("item") episodesHandled = 0 for episode in episodes: number = episodes.length - episodesHandled idName = getText(episode, "link").split("/")[-1] date = time.strftime("%Y-%m-%d", time.strptime(getText(episode, "pubDate"), "%a, %d %b %Y %H:%M:%S +0000")) title = getText(episode, "title") plot = re.sub('<[^<]+?>', '', getText(episode, "description")) baseFileName = "%s.S%02dE%02d.%s" % (shownameDotted, season, number, idName) originalFileName = "das-%04d-%s.%s" % (number, idName, videoExtension) data = """ """ + title + """ """ + showname + """ """ + str(season) + """ """ + str(number) + """ """ + plot + """ """ + credits + """ """ + date + """ """ with open(baseFileName + "." + extension, "w") as file: file.write(data) try: os.rename(originalFileName, baseFileName + "." + videoExtension) except OSError: pass episodesHandled += 1