#!/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
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()
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":
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:
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")
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