#!/usr/bin/env python3
-import datetime
+import logging
from typing import Dict, List
import xml
import generic_news_rss_renderer as gnrss
+logger = logging.getLogger(__name__)
+
+
class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer):
interesting_categories = frozenset(
[
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) -> str:
- return "seattletimes"
+ super().__init__(name_to_timeout_dict, feed_site, feed_uris, page_title)
def get_headlines_page_prefix(self) -> str:
return "seattletimes-nonnews"
self, title: str, description: str, item: xml.etree.ElementTree.Element
) -> bool:
if item.tag != "item":
- self.debug_print("Item.tag isn't item?!")
+ logger.debug(f'{title}: item.tag ({item}) isn\'t "item"?!')
return False
if self.is_item_older_than_n_days(item, 14):
- self.debug_print("%s: is too old!" % title)
+ logger.info(f"{title}: too old to be interesting.")
return False
details = {}
- for detail in item.getchildren():
- self.debug_print(f"detail {detail.tag} => {detail.attrib} ({detail.text})")
+ for detail in list(item):
+ logger.debug(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.__repr__())
+ logger.debug(f"{title}: no category in details?")
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)
+ logger.debug(f"{x} looks like a good category.")
interesting = True
+ break
return interesting
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)
+ logger.info(f"{title}: is too old to be interesting.")
return False
return len(description) >= 65
# Test
-#x = seattletimes_rss_renderer({"Test", 123},
+# x = seattletimes_rss_renderer({"Test", 123},
# "www.seattletimes.com",
# [ "/outdoors/feed/", '/live/feed/' ],
# "nonnews")
-#x.periodic_render("Fetch News")
-#x.periodic_render("Shuffle News")
+# x.periodic_render("Fetch News")
+# x.periodic_render("Shuffle News")