From 05b56fa9d94c3dac31c08b28b8e6adfe7d8d2a4a Mon Sep 17 00:00:00 2001 From: Scott Gasch Date: Sat, 15 Jun 2024 10:15:00 -0700 Subject: [PATCH] Add downtown bellevue feed. --- downtown_bellevue_rss_renderer.py | 45 +++++++++++++++++++++++++++++++ grab_bag.py | 2 +- renderer_catalog.py | 14 +++++----- 3 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 downtown_bellevue_rss_renderer.py diff --git a/downtown_bellevue_rss_renderer.py b/downtown_bellevue_rss_renderer.py new file mode 100644 index 0000000..804d97a --- /dev/null +++ b/downtown_bellevue_rss_renderer.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 + +import logging +from typing import List, Dict + +import generic_news_rss_renderer as gnrss + + +logger = logging.getLogger(__name__) + + +class downtown_bellevue_rss_renderer(gnrss.generic_news_rss_renderer): + """Read the Bellevue Reporter's RSS feed.""" + + def __init__( + self, + name_to_timeout_dict: Dict[str, int], + feed_site: str, + feed_uris: List[str], + page_title: str, + ): + super().__init__(name_to_timeout_dict, feed_site, feed_uris, page_title) + + def get_headlines_page_prefix(self) -> str: + return "downtown-bellevue" + + def get_details_page_prefix(self) -> str: + return "downtown-bellevue-details" + + def should_use_https(self) -> bool: + return True + + +# Test +x = downtown_bellevue_rss_renderer( + {"Fetch News" : 1, + "Shuffle News" : 1}, + "downtownbellevue.com", + [ "/feed/" ], + "Test" +) +if x.fetch_news() == 0: + print("Error fetching news, no items fetched.") +else: + x.shuffle_news() diff --git a/grab_bag.py b/grab_bag.py index b1da60c..10272da 100644 --- a/grab_bag.py +++ b/grab_bag.py @@ -26,7 +26,7 @@ class grab_bag(object): def subset(self, count: int) -> Optional[List[str]]: if len(self.contents) < count: return None - return random.sample(self.contents, count) + return random.sample(list(self.contents), count) def size(self) -> int: return len(self.contents) diff --git a/renderer_catalog.py b/renderer_catalog.py index a363954..dfd4c99 100644 --- a/renderer_catalog.py +++ b/renderer_catalog.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import bellevue_city_calendar_renderer -import bellevue_reporter_rss_renderer +import downtown_bellevue_rss_renderer import kiosk_constants import cnn_rss_renderer import gdata_oauth @@ -55,12 +55,12 @@ __registry = [ ["/calendar/events.xml"], "Bellevue City Calendar", ), -# bellevue_reporter_rss_renderer.bellevue_reporter_rss_renderer( -# {"Fetch News": (hours * 1), "Shuffle News": (always)}, -# "www.bellevuereporter.com", -# ["/feed/"], -# "Bellevue Reporter", -# ), + downtown_bellevue_rss_renderer.downtown_bellevue_rss_renderer( + {"Fetch News": (hours * 1), "Shuffle News": (always)}, + "downtownbellevue.com" + ["/feed/"], + "Downtown Bellevue", + ), urbanist_renderer.urbanist_renderer( {"Fetch News": (hours * 2), "Shuffle News": (always)}, "www.theurbanist.org", -- 2.45.2