+#!/usr/bin/env python3
+
import datetime
+from typing import Dict, List
+import xml
+
import generic_news_rss_renderer as gnrss
"Nation",
"World",
"Life",
- "Technology" "Local News",
+ "Technology",
+ "Local News",
"Food",
"Drink",
"Today File",
]
)
- def __init__(self, name_to_timeout_dict, feed_site, feed_uris, page_title):
+ def __init__(
+ self,
+ name_to_timeout_dict: Dict[str, int],
+ feed_site: str,
+ feed_uris: List[str],
+ page_title: str,
+ ):
super(seattletimes_rss_renderer, self).__init__(
name_to_timeout_dict, feed_site, feed_uris, page_title
)
- def debug_prefix(self):
+ def debug_prefix(self) -> str:
return "seattletimes"
- def get_headlines_page_prefix(self):
+ def get_headlines_page_prefix(self) -> str:
return "seattletimes-nonnews"
- def get_details_page_prefix(self):
+ def get_details_page_prefix(self) -> str:
return "seattletimes-details-nonnews"
- def should_use_https(self):
+ def should_use_https(self) -> bool:
return True
- def item_is_interesting_for_headlines(self, title, description, item):
+ def item_is_interesting_for_headlines(
+ self, title: str, description: str, item: xml.etree.ElementTree.Element
+ ) -> bool:
if item.tag != "item":
self.debug_print("Item.tag isn't item?!")
return False
details = {}
for detail in item.getchildren():
- self.debug_print(
- "detail %s => %s (%s)" % (detail.tag, detail.attrib, detail.text)
- )
- if detail.text != None:
+ self.debug_print(f"detail {detail.tag} => {detail.attrib} ({detail.text})")
+ if detail.text is not None:
details[detail.tag] = detail.text
if "category" not in details:
self.debug_print("No category in details?!")
- self.debug_print(details)
+ self.debug_print(details.__repr__())
return False
-
interesting = False
for x in seattletimes_rss_renderer.interesting_categories:
if x in details["category"]:
self.debug_print("%s looks like a good category." % x)
interesting = True
- if not interesting:
- return False
- return True
+ return interesting
- def item_is_interesting_for_article(self, title, description, item):
+ def item_is_interesting_for_article(
+ self, title: str, description: str, item: xml.etree.ElementTree.Element
+ ) -> bool:
if self.is_item_older_than_n_days(item, 14):
self.debug_print("%s: is too old!" % title)
return False