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)
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
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()
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('<span[^<>]*class="calendar-post-ticket"[^<>]*>.*</#span>', '', 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(
+ '<span[^<>]*class="calendar-post-ticket"[^<>]*>.*</#span>',
+ "",
+ 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")