From 259f20794caea29473db6e7c200b93871a273ab3 Mon Sep 17 00:00:00 2001 From: DYefremov Date: Thu, 11 Jan 2024 14:16:38 +0300 Subject: [PATCH] minor corrections for EPG tab --- app/ui/epg/epg.py | 43 ++++++++++++++++++++++++++----------------- app/ui/epg/tab.glade | 1 + 2 files changed, 27 insertions(+), 17 deletions(-) diff --git a/app/ui/epg/epg.py b/app/ui/epg/epg.py index d3c376b8..e149a6b2 100644 --- a/app/ui/epg/epg.py +++ b/app/ui/epg/epg.py @@ -207,20 +207,25 @@ class TabEpgCache(EpgCache): def init(self): self._is_run = True self._reader = XmlTvReader(self._path, url=self._xml_src) + if self._canceled: + return if os.path.isfile(self._path): - # Difference calculation between the current time and file modification. - dif = datetime.now() - datetime.fromtimestamp(os.path.getmtime(self._path)) - # We will update daily. -> Temporarily!!! - if dif.days > 0 and not self._canceled: - self._task = BGTaskWidget(self._app, "Downloading EPG...", self._reader.download, self.process_data, ) - self._app.emit("add-background-task", self._task) + if self._xml_src: + # Difference calculation between the current time and file modification. + dif = datetime.now() - datetime.fromtimestamp(os.path.getmtime(self._path)) + # We will update daily. -> Temporarily!!! + if dif.days > 0: + self._task = BGTaskWidget(self._app, "Downloading EPG...", self._reader.download, + self.process_data, ) + self._app.emit("add-background-task", self._task) + else: + self.process_data() else: - self.process_data() + self._task = BGTaskWidget(self._app, "", self.process_data, ) else: - if not self._canceled: - self._task = BGTaskWidget(self._app, "Downloading EPG...", self._reader.download, self.process_data, ) - self._app.emit("add-background-task", self._task) + self._task = BGTaskWidget(self._app, "Downloading EPG...", self._reader.download, self.process_data, ) + self._app.emit("add-background-task", self._task) def process_data(self): GLib.idle_add(self._app.wait_dialog.show) @@ -458,10 +463,10 @@ class EpgTool(Gtk.Box): if response in (Gtk.ResponseType.CANCEL, Gtk.ResponseType.DELETE_EVENT): return - self.clear() - self._epg_cache = TabEpgCache(self._app, response) - if not self._src_xmltv_button.get_active(): - self._src_xmltv_button.set_active(True) + if next(self.clear(), False): + self._epg_cache = TabEpgCache(self._app, response) + if not self._src_xmltv_button.get_active(): + self._src_xmltv_button.set_active(True) def on_data_send(self, app, page): if page is not Page.EPG: @@ -501,9 +506,10 @@ class EpgTool(Gtk.Box): GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW) def update_http_epg_data(self, epg=None): - events = None if epg: events = (self.get_event(e) for e in epg.get("event_list", []) if e.get("e2eventid", "").isdigit()) + else: + events = () gen = self.update_epg_data(events) GLib.idle_add(lambda: next(gen, False), priority=GLib.PRIORITY_LOW) @@ -602,10 +608,10 @@ class EpgTool(Gtk.Box): return True def on_multi_epg_toggled(self, button): - self.clear() - if button.get_active(): self.get_multi_epg() + else: + next(self.clear(), False) def on_xmltv_toggled(self, button): if button.get_active(): @@ -642,6 +648,9 @@ class EpgTool(Gtk.Box): # ****************** Timers ***************** # def on_epg_press(self, view, event): + if self._src_xmltv_button.get_active(): + return True + if event.get_event_type() == Gdk.EventType.DOUBLE_BUTTON_PRESS and len(view.get_model()) > 0: self.on_timer_add() diff --git a/app/ui/epg/tab.glade b/app/ui/epg/tab.glade index e6c17c56..13813a54 100644 --- a/app/ui/epg/tab.glade +++ b/app/ui/epg/tab.glade @@ -156,6 +156,7 @@ Author: Dmitriy Yefremov True + True True False True