From ea1fe9fbdee1abf110f4913c282f29160805ef9d Mon Sep 17 00:00:00 2001 From: Kumi Date: Tue, 2 Jul 2024 08:25:52 +0200 Subject: [PATCH] fix(core): handle missing entry point groups gracefully Refactored the handling of entry points for notifiers and providers to avoid potential errors when their groups are missing. Simplifies and improves the robustness of the logic by directly iterating over all entry points and filtering by group instead of relying on potentially absent group keys. --- src/trackbert/classes/core.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/trackbert/classes/core.py b/src/trackbert/classes/core.py index 021cc8f..a9cff89 100644 --- a/src/trackbert/classes/core.py +++ b/src/trackbert/classes/core.py @@ -74,9 +74,10 @@ class Core: logging.debug("Finding external notifiers") notifiers = [] - for entry_point in importlib.metadata.entry_points().get( - "trackbert.notifiers", [] - ): + for entry_point in importlib.metadata.entry_points(): + if entry_point.group != "trackbert.notifiers": + continue + logging.debug(f"Considering external notifier {entry_point.name}") try: @@ -149,9 +150,10 @@ class Core: providers = [] - for entry_point in importlib.metadata.entry_points().get( - "trackbert.providers", [] - ): + for entry_point in importlib.metadata.entry_points(): + if entry_point.group != "trackbert.providers": + continue + logging.debug(f"Considering external provider {entry_point.name}") try: