X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=seattletimes_rss_renderer.py;h=7b39bca4a974ac3e82ee2b9528abec7d4eb6989a;hb=addd4980077f6e3857c5c035b49784dc3ceca49a;hp=34e9a9bff607bbe869439fe700d36ef55b1b3dcb;hpb=c06bfef53f70551e7920bc4facce27f47b89e2ba;p=kiosk.git diff --git a/seattletimes_rss_renderer.py b/seattletimes_rss_renderer.py index 34e9a9b..7b39bca 100644 --- a/seattletimes_rss_renderer.py +++ b/seattletimes_rss_renderer.py @@ -1,12 +1,15 @@ #!/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(__file__) + + class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer): interesting_categories = frozenset( [ @@ -35,13 +38,10 @@ class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer): feed_uris: List[str], page_title: str, ): - super(seattletimes_rss_renderer, self).__init__( + super().__init__( name_to_timeout_dict, feed_site, feed_uris, page_title ) - def debug_prefix(self) -> str: - return "seattletimes" - def get_headlines_page_prefix(self) -> str: return "seattletimes-nonnews" @@ -55,41 +55,47 @@ class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer): 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})") - if detail.text != None: + 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) + if 'category' not in details: + 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", -# [ "/life/feed/" ], +# [ "/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")