Format codebase w/ black.
[kiosk.git] / reddit_renderer.py
index 91cd33a43a1a0c78558981091d89b524b5deebb0..cae9b6f0058be939453404684946a957d014a650 100644 (file)
@@ -9,15 +9,18 @@ import profanity_filter
 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()
@@ -27,7 +30,7 @@ class reddit_renderer(renderer.debuggable_abstaining_renderer):
     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):
@@ -37,19 +40,23 @@ class reddit_renderer(renderer.debuggable_abstaining_renderer):
         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;">
@@ -64,13 +71,19 @@ class reddit_renderer(renderer.debuggable_abstaining_renderer):
       <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()
@@ -92,12 +105,12 @@ class reddit_renderer(renderer.debuggable_abstaining_renderer):
             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
@@ -109,7 +122,7 @@ class reddit_renderer(renderer.debuggable_abstaining_renderer):
         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]"
@@ -127,31 +140,45 @@ class reddit_renderer(renderer.debuggable_abstaining_renderer):
         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")