From 51c1ee5c08074db7fb12889f21ef5698948477b4 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sat, 5 Nov 2022 15:10:27 +0100 Subject: [PATCH] Add missing Optional on _load_object & use explcit is None checks --- server/entertainment_decider/extractors/collection/base.py | 4 ++-- server/entertainment_decider/extractors/generic.py | 6 +++--- server/entertainment_decider/extractors/media/base.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/server/entertainment_decider/extractors/collection/base.py b/server/entertainment_decider/extractors/collection/base.py index 7d84595..b989e68 100644 --- a/server/entertainment_decider/extractors/collection/base.py +++ b/server/entertainment_decider/extractors/collection/base.py @@ -53,9 +53,9 @@ class CollectionExtractor(GeneralExtractor[MediaCollection, T]): self.__configure_collection(collection) return collection - def _load_object(self, data: ExtractedData[T]) -> MediaCollection: + def _load_object(self, data: ExtractedData[T]) -> Optional[MediaCollection]: collection = data.load_collection() - if collection: + if collection is not None: self.__configure_collection(collection) return collection diff --git a/server/entertainment_decider/extractors/generic.py b/server/entertainment_decider/extractors/generic.py index b149c0b..3bbcd88 100644 --- a/server/entertainment_decider/extractors/generic.py +++ b/server/entertainment_decider/extractors/generic.py @@ -114,7 +114,7 @@ class GeneralExtractor(Generic[E, T]): def _create_object(self, data: ExtractedData[T]) -> E: raise NotImplementedError() - def _load_object(self, data: ExtractedData[T]) -> E: + def _load_object(self, data: ExtractedData[T]) -> Optional[E]: raise NotImplementedError() # abstract (for specific extractor classes) @@ -178,14 +178,14 @@ class GeneralExtractor(Generic[E, T]): def inject_object(self, data: ExtractedData[T]) -> E: object = self._load_object(data) data = self._extract_required(data) - if not object: + if object is None: logging.debug(f"Store info for object: {data!r}") object = self._create_object(data) return self._update_object(object, data) def store_object(self, data: ExtractedData[T]) -> E: object = self._load_object(data) - if object: + if object is not None: logging.debug(f"Found object already in database: {data!r}") return object data = self._extract_required(data) diff --git a/server/entertainment_decider/extractors/media/base.py b/server/entertainment_decider/extractors/media/base.py index 32ab1bc..766506c 100644 --- a/server/entertainment_decider/extractors/media/base.py +++ b/server/entertainment_decider/extractors/media/base.py @@ -38,7 +38,7 @@ class MediaExtractor(GeneralExtractor[MediaElement, T]): def _create_object(self, data: ExtractedData[T]) -> MediaElement: return data.create_media() - def _load_object(self, data: ExtractedData[T]) -> MediaElement: + def _load_object(self, data: ExtractedData[T]) -> Optional[MediaElement]: return data.load_media() def __create_author_collection(