from io import StringIO import datetime from fHDHR.tools import humanized_time class Channel_Guide_HTML(): def __init__(self, settings, device, page_elements): self.config = settings self.device = device self.page_elements = page_elements def get_channel_guide_html(self, force_update=False): friendlyname = self.config.dict["fhdhr"]["friendlyname"] nowtime = datetime.datetime.utcnow() fakefile = StringIO() for line in self.page_elements["top"]: fakefile.write(line + "\n") fakefile.write("

What's On %s

\n" % friendlyname) fakefile.write("\n") fakefile.write("\n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") fakefile.write(" \n") for channel in self.device.epg.whats_on_allchans(): end_time = datetime.datetime.strptime(channel["listing"][0]["time_end"], '%Y%m%d%H%M%S +0000') remaining_time = humanized_time(int((end_time - nowtime).total_seconds())) play_url = ("/%s.m3u\n" % (channel["number"])) fakefile.write(" \n") fakefile.write(" \n" % (channel["name"])) fakefile.write(" \n" % (channel["number"])) fakefile.write(" \n" % (channel["listing"][0]["title"])) fakefile.write(" \n" % (channel["listing"][0]["description"])) fakefile.write(" \n" % (str(remaining_time))) fakefile.write(" \n") for line in self.page_elements["end"]: fakefile.write(line + "\n") channel_guide_html = fakefile.getvalue() return channel_guide_html
PlayChannel NameChannel NumberChannel ThumbnailContent TitleContent ThumbnailContent DescriptionContent Remaining Time
%s\n" % (play_url, "Play")) fakefile.write(" %s%s\"%s\"\n" % (channel["thumbnail"], channel["name"])) fakefile.write(" %s\"%s\"\n" % (channel["listing"][0]["thumbnail"], channel["listing"][0]["title"])) fakefile.write(" %s%s