From: Scott Gasch Date: Wed, 8 Jul 2020 01:56:34 +0000 (-0700) Subject: Have page builder allow you to inject custom HTML. Make the generic X-Git-Url: https://wannabe.guru.org/gitweb/?a=commitdiff_plain;h=78b904e30bc0f9a05a96da1b597ad11795afbd46;p=kiosk.git Have page builder allow you to inject custom HTML. Make the generic news renderer use this to turn off annoying linky titles. --- diff --git a/generic_news_rss_renderer.py b/generic_news_rss_renderer.py index 21f9afe..4db4669 100644 --- a/generic_news_rss_renderer.py +++ b/generic_news_rss_renderer.py @@ -97,6 +97,24 @@ class generic_news_rss_renderer(renderer.debuggable_abstaining_renderer): return False for msg in subset: headlines.add_item(msg) + headlines.set_custom_html(""" +""") f = file_writer.file_writer('%s_4_none.html' % ( self.get_headlines_page_prefix())) headlines.render_html(f) @@ -104,6 +122,24 @@ class generic_news_rss_renderer(renderer.debuggable_abstaining_renderer): details = page_builder.page_builder() details.set_layout(page_builder.page_builder.LAYOUT_ONE_ITEM) + details.set_custom_html(""" +""") details.set_title("%s" % self.page_title) subset = self.details.subset(1) if subset is None: diff --git a/page_builder.py b/page_builder.py index 65f5b93..4aa72fe 100644 --- a/page_builder.py +++ b/page_builder.py @@ -14,6 +14,7 @@ class page_builder(object): self.layout = page_builder.LAYOUT_AUTO self.items = [] self.debug_info = None + self.custom_html = None def set_layout(self, layout): self.layout = layout @@ -43,6 +44,10 @@ class page_builder(object): else: self.layout = page_builder.LAYOUT_MANY_ITEMS + def __render_custom_html(self, f): + if self.custom_html is not None: + f.write(self.custom_html) + def __render_header(self, f): if self.title is not None: f.write("

%s

\n" % self.title) @@ -56,7 +61,7 @@ class page_builder(object): def render_html(self, f): if self.layout == page_builder.LAYOUT_AUTO or self.layout is None: self.__pick_layout() - + self.__render_custom_html(f) self.__render_header(f) items_per_row = None @@ -86,8 +91,10 @@ class page_builder(object): count += 1 if count % items_per_row == 0: f.write("\n\n") - self.__render_footer(f) + def set_custom_html(self, html): + self.custom_html = html + #x = page_builder() #x.set_title("title").add_item("item1").add_item("item2").add_item("item3").render_html(sys.stdout)