X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=stranger_renderer.py;h=fb34d2f45c8f8d50e5ef71fbb7b5de8d12d23782;hb=6b8d4eeb7153617221f822a243a117f0bcab07bf;hp=ccdad547c0a534a04d63a1632c858210bb043963;hpb=7eae23537dcc61565a24d5c957d4325b7337b63a;p=kiosk.git diff --git a/stranger_renderer.py b/stranger_renderer.py index ccdad54..fb34d2f 100644 --- a/stranger_renderer.py +++ b/stranger_renderer.py @@ -1,11 +1,12 @@ #!/usr/bin/env python3 -from bs4 import BeautifulSoup # type: ignore import datetime import http.client -import random +import logging import re -from typing import Dict, List +from typing import Dict + +from bs4 import BeautifulSoup # type: ignore import file_writer import grab_bag @@ -14,9 +15,12 @@ import profanity_filter import renderer -class stranger_events_renderer(renderer.debuggable_abstaining_renderer): +logger = logging.getLogger(__file__) + + +class stranger_events_renderer(renderer.abstaining_renderer): def __init__(self, name_to_timeout_dict: Dict[str, int]): - super(stranger_events_renderer, self).__init__(name_to_timeout_dict, True) + super().__init__(name_to_timeout_dict) self.feed_site = "everout.com" self.events = grab_bag.grab_bag() @@ -24,7 +28,7 @@ class stranger_events_renderer(renderer.debuggable_abstaining_renderer): return "stranger" def periodic_render(self, key: str) -> bool: - self.debug_print("called for action %s" % key) + logger.debug("called for action %s" % key) if key == "Fetch Events": return self.fetch_events() elif key == "Shuffle Events": @@ -77,7 +81,7 @@ class stranger_events_renderer(renderer.debuggable_abstaining_renderer): layout.set_style(self.get_style()) subset = self.events.subset(4) if subset is None: - self.debug_print("Not enough events to build page.") + logger.debug("Not enough events to build page.") return False for msg in subset: @@ -115,17 +119,17 @@ class stranger_events_renderer(renderer.debuggable_abstaining_renderer): filter = profanity_filter.ProfanityFilter() for uri in feed_uris: try: - self.debug_print("fetching 'https://%s%s'" % (self.feed_site, uri)) + logger.debug("fetching 'https://%s%s'" % (self.feed_site, uri)) self.conn = http.client.HTTPSConnection(self.feed_site) self.conn.request("GET", uri, None, {"Accept-Charset": "utf-8"}) response = self.conn.getresponse() if response.status != 200: - self.debug_print("Connection failed, status %d" % (response.status)) - self.debug_print(str(response.getheaders())) + logger.debug("Connection failed, status %d" % (response.status)) + logger.debug(str(response.getheaders())) continue raw = response.read() - except: - self.debug_print("Exception talking to the stranger, ignoring.") + except Exception: + logger.debug("Exception talking to the stranger, ignoring.") continue soup = BeautifulSoup(raw, "html.parser") @@ -149,7 +153,7 @@ class stranger_events_renderer(renderer.debuggable_abstaining_renderer): re.DOTALL | re.IGNORECASE, ) self.events.add(raw_str) - self.debug_print(f"fetched {self.events.size()} events so far.") + logger.debug(f"fetched {self.events.size()} events so far.") return self.events.size() > 0