Format codebase w/ black.
[kiosk.git] / cnn_rss_renderer.py
index 7ecfa19b851c11826ba1c52299c3dd691ab2e782..c1ae7fdacbb49fccf0ab55233462508e48abfe70 100644 (file)
@@ -1,13 +1,12 @@
 import generic_news_rss_renderer
 import re
 
+
 class cnn_rss_renderer(generic_news_rss_renderer.generic_news_rss_renderer):
     def __init__(self, name_to_timeout_dict, feed_site, feed_uris, page_title):
         super(cnn_rss_renderer, self).__init__(
-            name_to_timeout_dict,
-            feed_site,
-            feed_uris,
-            page_title)
+            name_to_timeout_dict, feed_site, feed_uris, page_title
+        )
         self.debug = 1
 
     def debug_prefix(self):
@@ -20,22 +19,38 @@ class cnn_rss_renderer(generic_news_rss_renderer.generic_news_rss_renderer):
         return "cnn-details-%s" % (self.page_title)
 
     def munge_description(self, description):
-        description = re.sub('[Rr]ead full story for latest details.', '', description)
-        description = re.sub('<[^>]+>', '', description)
+        description = re.sub("[Rr]ead full story for latest details.", "", description)
+        description = re.sub("<[^>]+>", "", description)
         return description
 
+    def find_image(self, item):
+        image = item.findtext("media:thumbnail")
+        if image is not None:
+            image_url = image.get("url")
+            return image_url
+        return None
+
     def should_use_https(self):
         return False
 
     def item_is_interesting_for_headlines(self, title, description, item):
-        return re.search(r'[Cc][Nn][Nn][A-Za-z]*\.com', title) is None
+        if self.is_item_older_than_n_days(item, 14):
+            self.debug_print("%s: is too old!" % title)
+            return False
+        return re.search(r"[Cc][Nn][Nn][A-Za-z]*\.com", title) is None
 
     def item_is_interesting_for_article(self, title, description, item):
-        return (re.search(r'[Cc][Nn][Nn][A-Za-z]*\.com', title) is None and
-                len(description) >= 65)
+        if self.is_item_older_than_n_days(item, 7):
+            self.debug_print("%s: is too old!" % title)
+            return False
+        return (
+            re.search(r"[Cc][Nn][Nn][A-Za-z]*\.com", title) is None
+            and len(description) >= 65
+        )
+
 
 # Test
-#x = cnn_rss_renderer(
+# x = cnn_rss_renderer(
 #    {"Fetch News" : 1,
 #     "Shuffle News" : 1},
 #    "rss.cnn.com",
@@ -44,6 +59,6 @@ class cnn_rss_renderer(generic_news_rss_renderer.generic_news_rss_renderer):
 #     "/rss/cnn_tech.rss",
 #    ],
 #    "Test" )
-#if x.fetch_news() == 0:
-#    print "Error fetching news, no items fetched."
-#x.shuffle_news()
+# if x.fetch_news() == 0:
+#    print("Error fetching news, no items fetched.")
+# x.shuffle_news()