From 4d5f5ea4d4df327ae6d6da28aa75f27476eb9a27 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sun, 24 Oct 2021 22:29:06 +0200 Subject: [PATCH] extractors/{collection,media}: Extract *_expect_extractor "partial" method --- .../extractors/collection/__init__.py | 8 +++++++- .../entertainment_decider/extractors/media/__init__.py | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/server/entertainment_decider/extractors/collection/__init__.py b/server/entertainment_decider/extractors/collection/__init__.py index 4e07f3e..d0778ca 100644 --- a/server/entertainment_decider/extractors/collection/__init__.py +++ b/server/entertainment_decider/extractors/collection/__init__.py @@ -16,9 +16,15 @@ COLLECTION_EXTRACTORS: Dict[str, CollectionExtractor] = { "youtube": YouTubeCollectionExtractor(), } +def collection_expect_extractor(uri: str) -> CollectionExtractor: + return expect_suitable_extractor( + extractor_list = COLLECTION_EXTRACTORS.values(), + uri = uri, + ) + def collection_extract_uri(uri: str) -> MediaCollection: elem: MediaCollection = CollectionExtractor.check_uri(uri) - ex = expect_suitable_extractor(COLLECTION_EXTRACTORS.values(), uri) + ex = collection_expect_extractor(uri) if not elem: elem = ex.extract_and_store(uri) else: diff --git a/server/entertainment_decider/extractors/media/__init__.py b/server/entertainment_decider/extractors/media/__init__.py index 4f9abab..7e5ccf0 100644 --- a/server/entertainment_decider/extractors/media/__init__.py +++ b/server/entertainment_decider/extractors/media/__init__.py @@ -12,8 +12,15 @@ MEDIA_EXTRACTORS: Dict[str, MediaExtractor] = { "ytdl": YtdlMediaExtractor(), } +def media_expect_extractor(uri: str) -> MediaExtractor: + return expect_suitable_extractor( + extractor_list = MEDIA_EXTRACTORS.values(), + uri = uri, + ) + def media_extract_uri(uri: str) -> MediaElement: elem: MediaElement = MediaExtractor.check_uri(uri) if not elem: - elem = expect_suitable_extractor(MEDIA_EXTRACTORS.values(), uri).extract_and_store(uri) + ex = media_expect_extractor(uri) + elem = ex.extract_and_store(uri) return elem