X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=generic_news_rss_renderer.py;fp=generic_news_rss_renderer.py;h=3bc5f1be147026b7cac5f95eddfc569951f6e506;hb=5e241dc47e497c547463cecc07946ea6882835a7;hp=698f7aa5bd6e4ca14f1cb71b19d80ca7907dc9f7;hpb=41262fc75551d35bcc9979011078b0e5b4e7b36a;p=kiosk.git diff --git a/generic_news_rss_renderer.py b/generic_news_rss_renderer.py index 698f7aa..3bc5f1b 100644 --- a/generic_news_rss_renderer.py +++ b/generic_news_rss_renderer.py @@ -10,10 +10,10 @@ import random import re import xml.etree.ElementTree as ET + class generic_news_rss_renderer(renderer.debuggable_abstaining_renderer): def __init__(self, name_to_timeout_dict, feed_site, feed_uris, page_title): - super(generic_news_rss_renderer, self).__init__(name_to_timeout_dict, - False) + super(generic_news_rss_renderer, self).__init__(name_to_timeout_dict, False) self.debug = 1 self.feed_site = feed_site self.feed_uris = feed_uris @@ -44,32 +44,32 @@ class generic_news_rss_renderer(renderer.debuggable_abstaining_renderer): return False def find_title(self, item): - return item.findtext('title') + return item.findtext("title") def munge_title(self, title): return title def find_description(self, item): - return item.findtext('description') + return item.findtext("description") def munge_description(self, description): - description = re.sub('<[^>]+>', '', description) + description = re.sub("<[^>]+>", "", description) return description def find_link(self, item): - return item.findtext('link') + return item.findtext("link") def munge_link(self, link): return link def find_image(self, item): - return item.findtext('image') + return item.findtext("image") def munge_image(self, image): return image def find_pubdate(self, item): - return item.findtext('pubDate') + return item.findtext("pubDate") def munge_pubdate(self, pubdate): return pubdate @@ -84,7 +84,7 @@ class generic_news_rss_renderer(renderer.debuggable_abstaining_renderer): tzinfo = pubdate.tzinfo now = datetime.datetime.now(tzinfo) delta = (now - pubdate).total_seconds() / (60 * 60 * 24) - if (delta > n): + if delta > n: return True return False @@ -97,7 +97,7 @@ class generic_news_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() @@ -109,7 +109,8 @@ class generic_news_rss_renderer(renderer.debuggable_abstaining_renderer): return False for msg in subset: headlines.add_item(msg) - headlines.set_custom_html(""" + headlines.set_custom_html( + """ """) - f = file_writer.file_writer('%s_%s_25900.html' % ( - self.get_headlines_page_prefix(), - self.get_headlines_page_priority())) +""" + ) + f = file_writer.file_writer( + "%s_%s_25900.html" + % (self.get_headlines_page_prefix(), self.get_headlines_page_priority()) + ) headlines.render_html(f) f.close() details = page_builder.page_builder() details.set_layout(page_builder.page_builder.LAYOUT_ONE_ITEM) - details.set_custom_html(""" + details.set_custom_html( + """ """) +""" + ) details.set_title("%s" % self.page_title) 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 += u'' + blurb += u"" details.add_item(blurb) - g = file_writer.file_writer('%s_%s_86400.html' % ( - self.get_details_page_prefix(), - self.get_details_page_priority())) + g = file_writer.file_writer( + "%s_%s_86400.html" + % (self.get_details_page_prefix(), self.get_details_page_priority()) + ) details.render_html(g) g.close() return True @@ -185,9 +191,12 @@ a:active { "GET", uri, None, - { "Accept": "*/*", - "Cache-control": "max-age=59", - "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36"}) + { + "Accept": "*/*", + "Cache-control": "max-age=59", + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.93 Safari/537.36", + }, + ) try: response = self.conn.getresponse() except: @@ -195,8 +204,12 @@ a:active { return False if response.status != 200: - print(("%s: RSS fetch_news error, response: %d" % (self.page_title, - response.status))) + print( + ( + "%s: RSS fetch_news error, response: %d" + % (self.page_title, response.status) + ) + ) self.debug_print(response.read()) return False @@ -206,26 +219,26 @@ a:active { title = self.find_title(item) if title is not None: title = self.munge_title(title) - description = item.findtext('description') + description = item.findtext("description") if description is not None: description = self.munge_description(description) image = self.find_image(item) if image is not None: image = self.munge_image(image) - link = item.findtext('link') + link = item.findtext("link") if link is not None: link = self.munge_link(link) - if (title is None or - not self.item_is_interesting_for_headlines(title, - description, - item)): + if title is None or not self.item_is_interesting_for_headlines( + title, description, item + ): self.debug_print('Item "%s" is not interesting' % title) continue - if (self.should_profanity_filter() and - (self.filter.contains_bad_words(title) or - self.filter.contains_bad_words(description))): + if self.should_profanity_filter() and ( + self.filter.contains_bad_words(title) + or self.filter.contains_bad_words(description) + ): self.debug_print('Found bad words in item "%s"' % title) continue @@ -237,7 +250,7 @@ a:active { blurb += u'style="padding:8px;">' if link is None: - blurb += u'

%s' % title + blurb += u"

%s" % title else: blurb += u'

%s' % (link, title) @@ -246,19 +259,18 @@ a:active { pubdate = self.munge_pubdate(pubdate) ts = parse(pubdate) blurb += u" %s" % ( - ts.strftime("%b %d")) + ts.strftime("%b %d") + ) - if (description is not None and - self.item_is_interesting_for_article(title, - description, - item)): + if description is not None and self.item_is_interesting_for_article( + title, description, item + ): longblurb = blurb longblurb += u"
" longblurb += description longblurb += u"" - longblurb = longblurb.replace("font-size:34pt", - "font-size:44pt") + longblurb = longblurb.replace("font-size:34pt", "font-size:44pt") self.details.add(longblurb) blurb += u""