Testosterone and sensitivity.
[kiosk.git] / reuters_rss_renderer.py
index d78102fe51e4b928d2d94ff58eddaf98b7271a85..5525e2e1d14935aadd4c91bd15668ca89daecf3c 100644 (file)
@@ -3,7 +3,7 @@ import file_writer
 import grab_bag
 import renderer
 import datetime
-import httplib
+import http.client
 import page_builder
 import profanity_filter
 import random
@@ -11,6 +11,7 @@ import re
 import sets
 import xml.etree.ElementTree as ET
 
+
 class reuters_rss_renderer(renderer.debuggable_abstaining_renderer):
     def __init__(self, name_to_timeout_dict, feed_site, feed_uris, page):
         super(reuters_rss_renderer, self).__init__(name_to_timeout_dict, False)
@@ -31,7 +32,7 @@ class reuters_rss_renderer(renderer.debuggable_abstaining_renderer):
         elif key == "Shuffle News":
             return self.shuffle_news()
         else:
-            raise error('Unexpected operation')
+            raise error("Unexpected operation")
 
     def shuffle_news(self):
         headlines = page_builder.page_builder()
@@ -43,7 +44,7 @@ class reuters_rss_renderer(renderer.debuggable_abstaining_renderer):
             return False
         for msg in subset:
             headlines.add_item(msg)
-        f = file_writer.file_writer('reuters-%s_4_none.html' % self.page)
+        f = file_writer.file_writer("reuters-%s_4_none.html" % self.page)
         headlines.render_html(f)
         f.close()
 
@@ -52,13 +53,13 @@ class reuters_rss_renderer(renderer.debuggable_abstaining_renderer):
         details.set_title("%s" % self.page)
         subset = self.details.subset(1)
         if subset is None:
-            self.debug_print("Not enough details to choose from.");
+            self.debug_print("Not enough details to choose from.")
             return False
         for msg in subset:
             blurb = msg
             blurb += "</TD>\n"
             details.add_item(blurb)
-        g = file_writer.file_writer('reuters-details-%s_6_none.html' % self.page)
+        g = file_writer.file_writer("reuters-details-%s_6_none.html" % self.page)
         details.render_html(g)
         g.close()
         return True
@@ -70,60 +71,65 @@ class reuters_rss_renderer(renderer.debuggable_abstaining_renderer):
         oldest = datetime.datetime.now() - datetime.timedelta(14)
 
         for uri in self.feed_uris:
-            self.conn = httplib.HTTPConnection(self.feed_site)
-            self.conn.request(
-                "GET",
-                uri,
-                None,
-                {"Accept-Charset": "utf-8"})
+            self.conn = http.client.HTTPConnection(self.feed_site)
+            self.conn.request("GET", uri, None, {"Accept-Charset": "utf-8"})
             response = self.conn.getresponse()
             if response.status != 200:
-                print("%s: RSS fetch_news error, response: %d" % (self.page,
-                                                                  response.status))
+                print(
+                    (
+                        "%s: RSS fetch_news error, response: %d"
+                        % (self.page, response.status)
+                    )
+                )
                 self.debug_print(response.read())
                 return False
 
             rss = ET.fromstring(response.read())
             channel = rss[0]
             for item in channel.getchildren():
-                title = item.findtext('title')
-                if (title is None or
-                    "euters" in title or
-                    title == "Editor's Choice" or
-                    self.filter.contains_bad_words(title)):
+                title = item.findtext("title")
+                if (
+                    title is None
+                    or "euters" in title
+                    or title == "Editor's Choice"
+                    or self.filter.contains_bad_words(title)
+                ):
                     continue
-                pubdate = item.findtext('pubDate')
-                image = item.findtext('image')
-                descr = item.findtext('description')
+                pubdate = item.findtext("pubDate")
+                image = item.findtext("image")
+                descr = item.findtext("description")
                 if descr is not None:
-                    descr = re.sub('<[^>]+>', '', descr)
+                    descr = re.sub("<[^>]+>", "", descr)
 
                 blurb = """<DIV style="padding:8px;
                                        font-size:34pt;
                                        -webkit-column-break-inside:avoid;">"""
                 if image is not None:
-                    blurb += '<IMG SRC=\"%s\" ALIGN=LEFT HEIGHT=115" style="padding:8px;">\n' % image
-                blurb += '<P><B>%s</B>' % title
+                    blurb += (
+                        '<IMG SRC="%s" ALIGN=LEFT HEIGHT=115" style="padding:8px;">\n'
+                        % image
+                    )
+                blurb += "<P><B>%s</B>" % title
 
                 if pubdate != None:
                     # Thu, 04 Jun 2015 08:16:35 GMT|-0400
-                    pubdate = pubdate.rsplit(' ', 1)[0]
-                    dt = datetime.datetime.strptime(pubdate,
-                                                    '%a, %d %b %Y %H:%M:%S')
+                    pubdate = pubdate.rsplit(" ", 1)[0]
+                    dt = datetime.datetime.strptime(pubdate, "%a, %d %b %Y %H:%M:%S")
                     if dt < oldest:
                         continue
-                    blurb += dt.strftime(" <FONT COLOR=#bbbbbb>(%a&nbsp;%b&nbsp;%d)</FONT>")
+                    blurb += dt.strftime(
+                        " <FONT COLOR=#bbbbbb>(%a&nbsp;%b&nbsp;%d)</FONT>"
+                    )
 
                 if descr is not None:
                     longblurb = blurb
                     longblurb += "<BR>"
                     longblurb += descr
                     longblurb += "</DIV>"
-                    longblurb = longblurb.replace("font-size:34pt",
-                                                  "font-size:44pt")
+                    longblurb = longblurb.replace("font-size:34pt", "font-size:44pt")
 
-                self.details.add(longblurb.encode('utf8'))
+                self.details.add(longblurb.encode("utf8"))
                 blurb += "</DIV>"
-                self.news.add(blurb.encode('utf8'))
+                self.news.add(blurb.encode("utf8"))
                 count += 1
         return count > 0