From: Scott Gasch Date: Sun, 24 Mar 2024 19:13:47 +0000 (-0700) Subject: Add invw.org X-Git-Url: https://wannabe.guru.org/gitweb/?p=kiosk.git;a=commitdiff_plain;h=6fd89b4dad0f69270773edaa4d5ab1096bc2b02f Add invw.org --- diff --git a/generic_news_rss_renderer.py b/generic_news_rss_renderer.py index 2acf193..f1261cb 100644 --- a/generic_news_rss_renderer.py +++ b/generic_news_rss_renderer.py @@ -236,8 +236,10 @@ class generic_news_rss_renderer(renderer.abstaining_renderer): if response.status != 200: logger.error( - f"Unexpected status {response.status} while fetching {url}; giving up." + f"Unexpected status {response.status} while fetching {url}: {response.reason}; giving up." ) + print(dir(response)) + print(response.headers) return False raw = response.read() diff --git a/invw_rss_renderer.py b/invw_rss_renderer.py new file mode 100644 index 0000000..0cbbeaf --- /dev/null +++ b/invw_rss_renderer.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 + +import xml +from typing import Dict, List, Optional + +import generic_news_rss_renderer as gnrssr + + +class invw_rss_renderer(gnrssr.generic_news_rss_renderer): + 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 + ) + self.debug = True + + def debug_prefix(self) -> str: + return f"invw({self.page_title})" + + def get_headlines_page_prefix(self) -> str: + return f"invw-{self.page_title}" + + def get_details_page_prefix(self) -> str: + return f"invw-details-{self.page_title}" + + def find_image(self, item: xml.etree.ElementTree.Element) -> Optional[str]: + return None + + def should_use_https(self) -> bool: + return True + + def item_is_interesting_for_headlines( + self, title: str, description: str, item: xml.etree.ElementTree.Element + ) -> bool: + return True + + def item_is_interesting_for_article( + self, title: str, description: str, item: xml.etree.ElementTree.Element + ) -> bool: + return True + +# Test +#x = invw_rss_renderer( +# {"Fetch News" : 1, +# "Shuffle News" : 1}, +# "www.invw.org", +# [ "/feed/" ], +# "Test" ) +#if x.fetch_news() == 0: +# print("Error fetching news, no items fetched.") +#x.shuffle_news() diff --git a/kiosk_secrets.py b/kiosk_secrets.py index 8fbb4c7..87f0643 100644 --- a/kiosk_secrets.py +++ b/kiosk_secrets.py @@ -18,3 +18,6 @@ twitter_consumer_key = "" twitter_consumer_secret = "" twitter_access_token = "" twitter_access_token_secret = "" + +# pvporcupine access key +pvporcupine_access_key="" diff --git a/listen.py b/listen.py index 4d0ebee..1501451 100755 --- a/listen.py +++ b/listen.py @@ -9,6 +9,8 @@ import pyaudio import speech_recognition as sr from pyutils import logging_utils +from kiosk_secrets import pvporcupine_key + logger = logging.getLogger(__name__) @@ -40,6 +42,7 @@ class HotwordListener(object): audio_stream = None try: porcupine = pvporcupine.create( + access_key=pvporcupine_key, keyword_paths=self._keyword_paths, sensitivities=self._sensitivities, ) diff --git a/renderer_catalog.py b/renderer_catalog.py index 14ba52e..bd5ec10 100644 --- a/renderer_catalog.py +++ b/renderer_catalog.py @@ -24,6 +24,7 @@ import recipe_renderer_and_trigger import urbanist_renderer import weather_renderer import wsj_rss_renderer +import invw_rss_renderer seconds = 1 @@ -96,6 +97,12 @@ __registry = [ ["/rss/RSSMarketsMain.xml", "/rss/WSJcomUSBusiness.xml"], "WSJBusiness", ), + invw_rss_renderer.invw_rss_renderer( + {"Fetch News": (hours * 4), "Shuffle News": (always)}, + "www.invw.org", + ["/feed/"], + "invw.org", + ), stevens_renderer.stevens_renderer({"Unused": (minutes * 30)}), google_news_rss_renderer.google_news_rss_renderer( {"Fetch News": (minutes * 30), "Shuffle News": (always)},