def fetch_feed_torrents(self, config, rssfeed_key, subscription_key=None): """Called to fetch torrents for a feed If rssfeed_key is not None, all subscriptions linked to that RSS Feed will be run. If rssfeed_key is None, only the subscription with key == subscription_key will be run """ fetch_data = {} fetch_data["matching_torrents"] = [] fetch_data["rssfeed_items"] = None if rssfeed_key is None: if subscription_key is None: self.log.warning("rssfeed_key and subscription_key cannot both be None") return fetch_data rssfeed_key = config["subscriptions"][subscription_key]["rssfeed_key"] else: # RSS Feed is not enabled if config["rssfeeds"][rssfeed_key]["active"] is False: return fetch_data rssfeed_data = config["rssfeeds"][rssfeed_key] fetch_data["site_cookies_dict"] = http.get_matching_cookies_dict(config["cookies"], rssfeed_data["site"]) fetch_data["user_agent"] = get_user_agent(rssfeed_data=rssfeed_data) self.log.info("Update handler executed on RSS Feed '%s (%s)' (Update interval %d min)" % (rssfeed_data["name"], rssfeed_data["site"], rssfeed_data["update_interval"])) for key in config["subscriptions"].keys(): # subscription_key is given, only that subscription will be run if subscription_key is not None and subscription_key != key: continue subscription_data = config["subscriptions"][key] if subscription_data["rssfeed_key"] == rssfeed_key and subscription_data["active"] is True: self.fetch_feed(subscription_data, rssfeed_data, fetch_data) if subscription_key is None: # Update last_update value of the rssfeed only when rssfeed is run by the timer, # not when a subscription is run manually by the user. # Don't need microseconds. Remove because it requires changes to the GUI to not display them dt = common.get_current_date().replace(microsecond=0) rssfeed_data["last_update"] = dt.isoformat() return fetch_data
def fetch_feed_torrents(self, config, rssfeed_key, subscription_key=None): """Called to fetch torrents for a feed If rssfeed_key is not None, all subscriptions linked to that RSS Feed will be run. If rssfeed_key is None, only the subscription with key == subscription_key will be run """ fetch_data = {} fetch_data["matching_torrents"] = [] fetch_data["rssfeed_items"] = None if rssfeed_key is None: if subscription_key is None: self.log.warn("rssfeed_key and subscription_key cannot both be None") return fetch_data rssfeed_key = config["subscriptions"][subscription_key]["rssfeed_key"] else: # RSS Feed is not enabled if config["rssfeeds"][rssfeed_key]["active"] is False: return fetch_data rssfeed_data = config["rssfeeds"][rssfeed_key] fetch_data["site_cookies_dict"] = http.get_matching_cookies_dict(config["cookies"], rssfeed_data["site"]) self.log.info("Update handler executed on RSS Feed '%s (%s)' (Update interval %d min)" % (rssfeed_data["name"], rssfeed_data["site"], rssfeed_data["update_interval"])) for key in config["subscriptions"].keys(): # subscription_key is given, only that subscription will be run if subscription_key is not None and subscription_key != key: continue subscription_data = config["subscriptions"][key] if subscription_data["rssfeed_key"] == rssfeed_key and subscription_data["active"] == True: self.fetch_feed(subscription_data, rssfeed_data, fetch_data) if subscription_key is None: # Update last_update value of the rssfeed only when rssfeed is run by the timer, # not when a subscription is run manually by the user. # Don't need microseconds. Remove because it requires changes to the GUI to not display them dt = common.get_current_date().replace(microsecond=0) rssfeed_data["last_update"] = dt.isoformat() return fetch_data
def on_button_last_matched_now_clicked(self, button): self.glade.get_widget("txt_last_matched").set_text(get_current_date().isoformat())