X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=stranger_renderer.py;h=4020353c4e4e5001c22d5f99cd996d41e099bd23;hb=5e241dc47e497c547463cecc07946ea6882835a7;hp=2084c395a4fa4502612abeb32b26d2abffe0b65e;hpb=41262fc75551d35bcc9979011078b0e5b4e7b36a;p=kiosk.git diff --git a/stranger_renderer.py b/stranger_renderer.py index 2084c39..4020353 100644 --- a/stranger_renderer.py +++ b/stranger_renderer.py @@ -10,6 +10,7 @@ import re import renderer import renderer_catalog + class stranger_events_renderer(renderer.debuggable_abstaining_renderer): def __init__(self, name_to_timeout_dict): super(stranger_events_renderer, self).__init__(name_to_timeout_dict, True) @@ -78,7 +79,7 @@ class stranger_events_renderer(renderer.debuggable_abstaining_renderer): for msg in subset: layout.add_item(msg) - f = file_writer.file_writer('stranger-events_2_36000.html') + f = file_writer.file_writer("stranger-events_2_36000.html") layout.render_html(f) f.close() return True @@ -100,28 +101,31 @@ class stranger_events_renderer(renderer.debuggable_abstaining_renderer): if delta > 1: ts = now + datetime.timedelta(delta) next_sat = datetime.datetime.strftime(ts, "%Y-%m-%d") - feed_uris.append("/stranger-seattle/events/?start-date=%s&page=1" % next_sat) - feed_uris.append("/stranger-seattle/events/?start-date=%s&page=2" % next_sat) + feed_uris.append( + "/stranger-seattle/events/?start-date=%s&page=1" % next_sat + ) + feed_uris.append( + "/stranger-seattle/events/?start-date=%s&page=2" % next_sat + ) delta += 1 if delta > 1: ts = now + datetime.timedelta(delta) next_sun = datetime.datetime.strftime(ts, "%Y-%m-%d") - feed_uris.append("/stranger-seattle/events/?start-date=%s&page=1" % next_sun) - feed_uris.append("/stranger-seattle/events/?start-date=%s&page=2" % next_sun) + feed_uris.append( + "/stranger-seattle/events/?start-date=%s&page=1" % next_sun + ) + feed_uris.append( + "/stranger-seattle/events/?start-date=%s&page=2" % next_sun + ) for uri in feed_uris: try: self.debug_print("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"}) + 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("Connection failed, status %d" % (response.status)) self.debug_print(response.getheaders()) continue raw = response.read() @@ -131,25 +135,32 @@ class stranger_events_renderer(renderer.debuggable_abstaining_renderer): soup = BeautifulSoup(raw, "html.parser") filter = profanity_filter.profanity_filter() - for x in soup.find_all('div', class_='row event list-item mb-3 py-3'): - text = x.get_text(); - if (filter.contains_bad_words(text)): + for x in soup.find_all("div", class_="row event list-item mb-3 py-3"): + text = x.get_text() + if filter.contains_bad_words(text): continue raw = str(x) - raw = raw.replace('src="/', - 'align="left" src="https://www.thestranger.com/') - raw = raw.replace('href="/', - 'href="https://www.thestranger.com/') - raw = raw.replace('FREE', 'Free') - raw = raw.replace('Save Event', '') - raw = re.sub('^\s*$', '', raw, 0, re.MULTILINE) - #raw = re.sub('\n+', '\n', raw) - raw = re.sub(']*class="calendar-post-ticket"[^<>]*>.*', '', raw, 0, re.DOTALL | re.IGNORECASE) + raw = raw.replace( + 'src="/', 'align="left" src="https://www.thestranger.com/' + ) + raw = raw.replace('href="/', 'href="https://www.thestranger.com/') + raw = raw.replace("FREE", "Free") + raw = raw.replace("Save Event", "") + raw = re.sub("^\s*$", "", raw, 0, re.MULTILINE) + # raw = re.sub('\n+', '\n', raw) + raw = re.sub( + ']*class="calendar-post-ticket"[^<>]*>.*', + "", + raw, + 0, + re.DOTALL | re.IGNORECASE, + ) self.events.add(raw) self.debug_print("fetched %d events so far." % self.events.size()) return self.events.size() > 0 + # Test -#x = stranger_events_renderer({"Test", 123}) -#x.periodic_render("Fetch Events") -#x.periodic_render("Shuffle Events") +# x = stranger_events_renderer({"Test", 123}) +# x.periodic_render("Fetch Events") +# x.periodic_render("Shuffle Events")