diff --git a/epghandler/epgtypes/empty.py b/epghandler/epgtypes/empty.py index bf6da2b..df90a33 100644 --- a/epghandler/epgtypes/empty.py +++ b/epghandler/epgtypes/empty.py @@ -85,6 +85,9 @@ class EmptyEPG(): programguide[str(c["number"])]["listing"].append(clean_prog_dict) + for cnum in programguide: + programguide[cnum]["listing"] = sorted(programguide[cnum]["listing"], key=lambda i: i['time_start']) + self.epg_cache = programguide with open(self.epg_cache_file, 'w') as epgfile: epgfile.write(json.dumps(programguide, indent=4)) diff --git a/epghandler/epgtypes/zap2it.py b/epghandler/epgtypes/zap2it.py index ea11baf..09a22d7 100644 --- a/epghandler/epgtypes/zap2it.py +++ b/epghandler/epgtypes/zap2it.py @@ -117,6 +117,8 @@ class ZapEPG(): zap_time_window = int(self.config["zap2it"]["timespan"]) * 3600 zap_time = int(zap_time - (zap_time % zap_time_window)) + self.remove_stale_cache(zap_time) + # Fetch data in `zap_timespan` chunks. for i in range(int(7 * 24 / int(self.config["zap2it"]["timespan"]))): i_time = zap_time + (i * zap_time_window) @@ -196,6 +198,9 @@ class ZapEPG(): programguide[str(cdict["channelNo"])]["listing"].append(clean_prog_dict) + for cnum in programguide: + programguide[cnum]["listing"] = sorted(programguide[cnum]["listing"], key=lambda i: i['time_start']) + self.epg_cache = programguide with open(self.epg_cache_file, 'w') as epgfile: epgfile.write(json.dumps(programguide, indent=4)) diff --git a/proxyservice/__init__.py b/proxyservice/__init__.py index 7ac2e65..eeb8b98 100644 --- a/proxyservice/__init__.py +++ b/proxyservice/__init__.py @@ -294,6 +294,9 @@ class proxyserviceFetcher(): programguide[str(cdict["number"])]["listing"].append(clean_prog_dict) + for cnum in programguide: + programguide[cnum]["listing"] = sorted(programguide[cnum]["listing"], key=lambda i: i['time_start']) + self.epg_cache = programguide with open(self.epg_cache_file, 'w') as epgfile: epgfile.write(json.dumps(programguide, indent=4))