diff --git a/app/connections.py b/app/connections.py index 13445d32..cad6ba94 100644 --- a/app/connections.py +++ b/app/connections.py @@ -289,8 +289,9 @@ class HttpAPI: def __init__(self, settings): self._settings = settings - self._base_url = None + self._shutdown = False self._session_id = 0 + self._base_url = None self._data = None self.init() @@ -298,6 +299,9 @@ class HttpAPI: self._executor = PoolExecutor(max_workers=self.__MAX_WORKERS) def send(self, req_type, ref, callback=print): + if self._shutdown: + return + url = self._base_url + req_type.value if req_type is HttpRequestType.ZAP or req_type is HttpRequestType.STREAM: @@ -320,8 +324,10 @@ class HttpAPI: if s_id != "0": self._data = urllib.parse.urlencode({"user": user, "password": password, "sessionid": s_id}).encode("utf-8") + @run_task def close(self): - self._executor.shutdown(False) + self._shutdown = True + self._executor.shutdown() def get_response(req_type, url, data=None): diff --git a/app/ui/main_app_window.py b/app/ui/main_app_window.py index b7721cb3..cf10898c 100644 --- a/app/ui/main_app_window.py +++ b/app/ui/main_app_window.py @@ -1677,9 +1677,9 @@ class Application(Gtk.Application): def on_player_duration_changed(self, duration): self._player_scale.set_value(0) self._player_scale.get_adjustment().set_upper(duration) - GLib.idle_add(self._player_rewind_box.set_visible, duration > 0) - GLib.idle_add(self._player_current_time_label.set_text, "0") - GLib.idle_add(self._player_full_time_label.set_text, self.get_time_str(duration)) + GLib.idle_add(self._player_rewind_box.set_visible, duration > 0, priority=GLib.PRIORITY_LOW) + GLib.idle_add(self._player_current_time_label.set_text, "0", priority=GLib.PRIORITY_LOW) + GLib.idle_add(self._player_full_time_label.set_text, self.get_time_str(duration), priority=GLib.PRIORITY_LOW) def on_player_time_changed(self, t): if not self._full_screen and self._player_rewind_box.get_visible(): diff --git a/app/ui/main_window.glade b/app/ui/main_window.glade index 0e3e2bb7..89ef7033 100644 --- a/app/ui/main_window.glade +++ b/app/ui/main_window.glade @@ -1455,7 +1455,7 @@ Author: Dmitriy Yefremov True - True + False 5 5 player_scale_adjustment diff --git a/app/ui/service_details_dialog.py b/app/ui/service_details_dialog.py index 3b2a8df5..59ebaedb 100644 --- a/app/ui/service_details_dialog.py +++ b/app/ui/service_details_dialog.py @@ -69,7 +69,7 @@ class ServiceDetailsDialog: # Patterns self._DIGIT_PATTERN = re.compile("\\D") self._NON_EMPTY_PATTERN = re.compile("(?:^[\\s]*$|\\D)") - self._CAID_PATTERN = re.compile("(?:^[\\s]*$)|(C:[0-9a-z]{4})(,C:[0-9a-z]{4})*") + self._CAID_PATTERN = re.compile("(?:^[\\s]*$)|(C:[0-9a-fA-F]{1,4})(,C:[0-9a-fA-F]{1,4})*") # Buttons self._apply_button = builder.get_object("apply_button") self._create_button = builder.get_object("create_button")