X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=bellevue_reporter_rss_renderer.py;h=4420c80a5ed10ccbfd2b797efc88e99f9306e1c3;hb=6cd5b068127501d2b48e8ac67b7432bffc5fce53;hp=b8fd27bafed6e9fe97b4562d6fb044615e69c7e7;hpb=5c39d86ebc075ccb7be98b1dfab8040b72ff9134;p=kiosk.git diff --git a/bellevue_reporter_rss_renderer.py b/bellevue_reporter_rss_renderer.py index b8fd27b..4420c80 100644 --- a/bellevue_reporter_rss_renderer.py +++ b/bellevue_reporter_rss_renderer.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 +import logging import re from typing import List, Dict import xml @@ -8,6 +9,9 @@ import xml.etree.ElementTree as ET import generic_news_rss_renderer as gnrss +logger = logging.getLogger(__file__) + + class bellevue_reporter_rss_renderer(gnrss.generic_news_rss_renderer): """Read the Bellevue Reporter's RSS feed.""" @@ -18,13 +22,9 @@ class bellevue_reporter_rss_renderer(gnrss.generic_news_rss_renderer): feed_uris: List[str], page_title: str, ): - super(bellevue_reporter_rss_renderer, self).__init__( + super().__init__( name_to_timeout_dict, feed_site, feed_uris, page_title ) - self.debug = True - - def debug_prefix(self) -> str: - return f"bellevue_reporter({self.page_title})" def get_headlines_page_prefix(self) -> str: return "bellevue-reporter" @@ -60,14 +60,19 @@ class bellevue_reporter_rss_renderer(gnrss.generic_news_rss_renderer): @staticmethod def looks_like_spam(title: str, description: str) -> bool: return ( - 'marketplace' in description - or 'national-marketplace' in description - or re.search('[Ww]eed', title) is not None - or re.search('[Cc]annabis', title) is not None - or re.search('[Cc]annabis', description) is not None - or 'THC' in title - or re.search('[Ll]ose [Ww]eight', title) is not None - or re.search('[Ll]ose [Ww]eight', description) is not None + description is not None + and title is not None + and ( + 'marketplace' in description + or 'national-marketplace' in description + or re.search('[Ww]eed', title) is not None + or re.search('[Cc]annabis', title) is not None + or re.search('[Cc]annabis', description) is not None + or 'THC' in title + or re.search('[Tt]op.[Rr]ated', title) is not None + or re.search('[Ll]ose [Ww]eight', title) is not None + or re.search('[Ll]ose [Ww]eight', description) is not None + ) ) def item_is_interesting_for_headlines( @@ -75,16 +80,16 @@ class bellevue_reporter_rss_renderer(gnrss.generic_news_rss_renderer): ) -> bool: unfiltered_description = item.findtext("description") if self.is_item_older_than_n_days(item, 10): - self.debug_print(f'{title}: is too old!') + logger.info(f'{title}: is too old!') return False if bellevue_reporter_rss_renderer.looks_like_spam(title, unfiltered_description): - self.debug_print(f'{title}: looks like spam') + logger.debug(f'{title}: looks like spam') return False if bellevue_reporter_rss_renderer.looks_like_football(title, description): - self.debug_print(f'{title}: looks like it\'s about football.') + logger.debug(f'{title}: looks like it\'s about football.') return False if bellevue_reporter_rss_renderer.looks_like_review(title, description): - self.debug_print(f'{title}: looks like a review.') + logger.debug(f'{title}: looks like a review.') return False return True @@ -93,16 +98,16 @@ class bellevue_reporter_rss_renderer(gnrss.generic_news_rss_renderer): ) -> bool: unfiltered_description = item.findtext("description") if self.is_item_older_than_n_days(item, 10): - self.debug_print(f'{title}: is too old!') + logger.debug(f'{title}: is too old!') return False if bellevue_reporter_rss_renderer.looks_like_spam(title, unfiltered_description): - self.debug_print(f'{title}: looks like spam') + logger.debug(f'{title}: looks like spam') return False if bellevue_reporter_rss_renderer.looks_like_football(title, description): - self.debug_print(f'{title}: looks like it\'s about football.') + logger.debug(f'{title}: looks like it\'s about football.') return False if bellevue_reporter_rss_renderer.looks_like_review(title, description): - self.debug_print(f'{title}: looks like a review.') + logger.debug(f'{title}: looks like a review.') return False return True