import feedparser import json import re import subprocess feeds = [] config = [] with open("shows.json", "r") as feeds: feeds = json.load(feeds) with open("config.json", "r") as config: config = json.load(config) for feed in feeds["Feeds"]: print("Checking feed: " + feed["URL"]) NewsFeed = feedparser.parse(feed["URL"]) for show in feed["Shows"]: print("Checking show: " + show["Title"]) for entry in NewsFeed.entries: if show["Title"] in entry.title: regex = feed["Episode-Regex"].replace("$SHOWS$", show["Title"]) match = re.match(regex, entry.title) if match: episodeNumber = match.groups() if int(episodeNumber[0]) > int(show["Local"]): print("NEW NEW NEW " + show["Title"] + " " + episodeNumber[0]) subprocess.run(["transmission-remote", "-a", entry.link, "-w", config["showDownloadDir"]]) show["Local"] = str(int(show["Local"]) + 1).zfill(2) with open("shows.json", "w") as new_feeds: new_feeds.write(json.dumps(feeds, indent=3))