2 import generic_news_rss_renderer as gnrss
5 class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer):
6 interesting_categories = sets.ImmutableSet([
24 def __init__(self, name_to_timeout_dict, feed_site, feed_uris, page_title):
25 super(seattletimes_rss_renderer, self).__init__(
30 self.oldest = datetime.datetime.now() - datetime.timedelta(14)
31 self.debug_print("oldest story we'll keep: %s" % self.oldest)
33 def debug_prefix(self):
36 def get_headlines_page_prefix(self):
37 return "seattletimes-nonnews"
39 def get_details_page_prefix(self):
40 return "seattletimes-details-nonnews"
42 def should_use_https(self):
45 def item_is_interesting_for_headlines(self, title, description, item):
46 if item.tag != "item":
47 self.debug_print("Item.tag isn't item?!")
51 for detail in item.getchildren():
52 self.debug_print("detail %s => %s (%s)" % (detail.tag,
55 if detail.text != None:
56 details[detail.tag] = detail.text
57 if "category" not in details:
58 self.debug_print("No category in details?!")
59 self.debug_print(details)
63 for x in seattletimes_rss_renderer.interesting_categories:
64 if x in details["category"]:
65 self.debug_print("%s looks like a good category." % x)
70 if 'enclosure' in details:
71 if 'pubDate' in details:
72 x = details['pubDate']
73 x = x.rsplit(' ', 1)[0]
74 # Fri, 13 Nov 2015 10:07:00
75 dt = datetime.datetime.strptime(x, '%a, %d %b %Y %H:%M:%S')
77 self.debug_print("%s is too old." % (
82 def item_is_interesting_for_article(self, title, description, item):
83 return len(description) >= 65
85 #x = seattletimes_rss_renderer({"Test", 123},
86 # "www.seattletimes.com",
89 #x.periodic_render("Fetch News")
90 #x.periodic_render("Shuffle News")