diff --git a/app/library/DownloadQueue.py b/app/library/DownloadQueue.py index e37703a5..265d9054 100644 --- a/app/library/DownloadQueue.py +++ b/app/library/DownloadQueue.py @@ -117,7 +117,7 @@ class DownloadQueue(metaclass=Singleton): """ self._notify.subscribe( - Events.STARTED, lambda _, __: self.initialize(), f"{__class__.__name__}.{__class__.__name__}.initialize" + Events.STARTED, lambda _, __: self.initialize(), f"{__class__.__name__}.{__class__.initialize.__name__}" ) Scheduler.get_instance().add( diff --git a/app/library/Events.py b/app/library/Events.py index 74c2f240..672ed489 100644 --- a/app/library/Events.py +++ b/app/library/Events.py @@ -325,6 +325,8 @@ class EventBus(metaclass=Singleton): self._listeners[e][name] = EventListener(name, callback) + LOG.debug(f"'{name}' subscribed to '{event}'.") + return self def unsubscribe(self, event: str | list | tuple, name: str) -> "EventBus": @@ -342,10 +344,15 @@ class EventBus(metaclass=Singleton): if isinstance(event, str): event = [event] + events = [] for e in event: if e in self._listeners and name in self._listeners[e]: + events.append(e) del self._listeners[e][name] + if len(events) > 0: + LOG.debug(f"'{name}' unsubscribed from '{events}'.") + return self def sync_emit(self, event: str, data: Any, loop=None, wait: bool = True, **kwargs):