import random
import renderer_catalog
+
class reddit_renderer(renderer.debuggable_abstaining_renderer):
"""A renderer to pull text content from reddit."""
def __init__(self, name_to_timeout_dict, subreddit_list, min_votes, font_size):
super(reddit_renderer, self).__init__(name_to_timeout_dict, True)
self.subreddit_list = subreddit_list
- self.praw = praw.Reddit(client_id=secrets.reddit_client_id,
- client_secret=secrets.reddit_client_secret,
- user_agent=secrets.reddit_user_agent)
+ self.praw = praw.Reddit(
+ client_id=secrets.reddit_client_id,
+ client_secret=secrets.reddit_client_secret,
+ user_agent=secrets.reddit_user_agent,
+ )
self.min_votes = min_votes
self.font_size = font_size
self.messages = grab_bag.grab_bag()
def debug_prefix(self):
x = ""
for subreddit in self.subreddit_list:
- x += ("%s " % subreddit)
+ x += "%s " % subreddit
return "reddit(%s)" % x.strip()
def periodic_render(self, key):
elif key == "Shuffle":
return self.shuffle_messages()
else:
- raise error('Unexpected operation')
+ raise error("Unexpected operation")
def append_message(self, messages):
for msg in messages:
- if (not self.filter.contains_bad_words(msg.title)
+ if (
+ not self.filter.contains_bad_words(msg.title)
and msg.ups > self.min_votes
- and not msg.title in self.deduper):
+ and not msg.title in self.deduper
+ ):
try:
self.deduper.add(msg.title)
content = "%d" % msg.ups
- if (msg.thumbnail != "self" and
- msg.thumbnail != "default" and
- msg.thumbnail != ""):
+ if (
+ msg.thumbnail != "self"
+ and msg.thumbnail != "default"
+ and msg.thumbnail != ""
+ ):
content = '<IMG SRC="%s">' % msg.thumbnail
x = """
<TABLE STYLE="font-size:%dpt;">
<B>%s</B><BR><FONT COLOR=#bbbbbb>(%s)</FONT>
</TD>
</TR>
-</TABLE>""" % (self.font_size, content, msg.title, msg.author)
+</TABLE>""" % (
+ self.font_size,
+ content,
+ msg.title,
+ msg.author,
+ )
self.messages.add(x)
except:
- self.debug_print('Unexpected exception, skipping message.')
+ self.debug_print("Unexpected exception, skipping message.")
else:
- self.debug_print('skipped message "%s" for profanity or low score' % (
- msg.title))
+ self.debug_print(
+ 'skipped message "%s" for profanity or low score' % (msg.title)
+ )
def scrape_reddit(self):
self.deduper.clear()
except:
pass
try:
- msg = self.praw.subreddit(subreddit).controversial('week')
+ msg = self.praw.subreddit(subreddit).controversial("week")
self.append_message(msg)
except:
pass
try:
- msg = self.praw.subreddit(subreddit).top('day')
+ msg = self.praw.subreddit(subreddit).top("day")
self.append_message(msg)
except:
pass
layout.set_layout(page_builder.page_builder.LAYOUT_FOUR_ITEMS)
x = ""
for subreddit in self.subreddit_list:
- x += ("%s " % subreddit)
+ x += "%s " % subreddit
if len(x) > 30:
if "SeaWA" in x:
x = "[local interests]"
f.close()
return True
+
class til_reddit_renderer(reddit_renderer):
def __init__(self, name_to_timeout_dict):
super(til_reddit_renderer, self).__init__(
- name_to_timeout_dict, ["todayilearned"], 200, 20)
+ name_to_timeout_dict, ["todayilearned"], 200, 20
+ )
+
class quotes_reddit_renderer(reddit_renderer):
def __init__(self, name_to_timeout_dict):
super(quotes_reddit_renderer, self).__init__(
- name_to_timeout_dict, ["quotes"], 200, 20)
+ name_to_timeout_dict, ["quotes"], 200, 20
+ )
+
class showerthoughts_reddit_renderer(reddit_renderer):
def __init__(self, name_to_timeout_dict):
super(showerthoughts_reddit_renderer, self).__init__(
- name_to_timeout_dict, ["showerthoughts"], 350, 24)
+ name_to_timeout_dict, ["showerthoughts"], 350, 24
+ )
+
class seattle_reddit_renderer(reddit_renderer):
def __init__(self, name_to_timeout_dict):
super(seattle_reddit_renderer, self).__init__(
- name_to_timeout_dict, ["seattle","seattleWA","SeaWA","bellevue","kirkland", "CoronavirusWA"], 50, 24)
+ name_to_timeout_dict,
+ ["seattle", "seattleWA", "SeaWA", "bellevue", "kirkland", "CoronavirusWA"],
+ 50,
+ 24,
+ )
+
class lifeprotips_reddit_renderer(reddit_renderer):
def __init__(self, name_to_timeout_dict):
super(lifeprotips_reddit_renderer, self).__init__(
- name_to_timeout_dict, ["lifeprotips"], 100, 24)
+ name_to_timeout_dict, ["lifeprotips"], 100, 24
+ )
+
-#x = reddit_renderer({"Test", 1234}, ["seattle","bellevue"], 50, 24)
-#x.periodic_render("Scrape")
-#x.periodic_render("Shuffle")
+# x = reddit_renderer({"Test", 1234}, ["seattle","bellevue"], 50, 24)
+# x.periodic_render("Scrape")
+# x.periodic_render("Shuffle")