From 60c13da64ec24a29f597522bc548702f5de1c61e Mon Sep 17 00:00:00 2001 From: Dmitriy Yefremov Date: Thu, 30 Nov 2017 00:45:52 +0300 Subject: [PATCH] little try optimization --- app/commons.py | 12 ------------ app/ui/main_app_window.py | 14 ++++++-------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/app/commons.py b/app/commons.py index e1f29108..ca082c77 100644 --- a/app/commons.py +++ b/app/commons.py @@ -4,7 +4,6 @@ from threading import Thread from gi.repository import GLib - _LOG_FILE = "app_log.log" _DATE_FORMAT = "%d-%m-%y %H:%M:%S" _LOGGER_NAME = "main_logger" @@ -44,16 +43,5 @@ def run_task(func): return wrapper -def catch_exceptions(func): - @wraps(func) - def wrapper(*args, **kwargs): - try: - return func(*args, *kwargs) - except Exception as e: - log(e) - - return wrapper - - if __name__ == "__main__": pass diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py index 4ba7cc19..61b6836c 100644 --- a/app/ui/main_app_window.py +++ b/app/ui/main_app_window.py @@ -1,5 +1,6 @@ import os from contextlib import suppress +from functools import lru_cache from app.commons import run_idle from app.eparser import get_blacklist, write_blacklist, to_bouquet_id @@ -430,7 +431,7 @@ class MainAppWindow: self.append_blacklist(data_path) self.append_services(data_path) self.append_bouquets(data_path) - self.update_services_counts() + self.update_services_counts(len(self.__services_model)) except FileNotFoundError as e: show_dialog("error_dialog", self.__main_window, getattr(e, "message", str(e)) + "\n\nPlease, download files from receiver or setup your path for read data!") @@ -670,16 +671,13 @@ class MainAppWindow: if model_name == self._FAV_LIST_NAME: self.__fav_count_label.set_text(str(len(model))) elif model_name == self._SERVICE_LIST_NAME: - self.update_services_counts() + self.update_services_counts(len(model)) elif model_name == self._BOUQUETS_LIST_NAME: self.__bouquets_count_label.set_text(str(len(self.__bouquets.keys()))) - @run_idle - def update_services_counts(self): - """ Updates counters for services - - May be temporary! (Needs optimising.) - """ + @lru_cache(maxsize=1) + def update_services_counts(self, size=0): + """ Updates counters for services. May be temporary! """ tv_count = 0 radio_count = 0 data_count = 0