From 82b006bfa13a23c1ded9e791bd57e082ad069571 Mon Sep 17 00:00:00 2001 From: meisnate12 Date: Wed, 3 Aug 2022 10:07:21 -0400 Subject: [PATCH] [19] fix dynamic addons --- VERSION | 2 +- modules/meta.py | 11 ++++++----- modules/reciperr.py | 13 ++++++++----- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/VERSION b/VERSION index 4446b45c..3b939f6d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.17.2-develop18 +1.17.2-develop19 diff --git a/modules/meta.py b/modules/meta.py index 89506bde..9526db66 100644 --- a/modules/meta.py +++ b/modules/meta.py @@ -509,9 +509,10 @@ class MetadataFile(DataFile): logger.ghost(f"Processing: {i}/{len(all_items)} {item.title}") tmdb_id, tvdb_id, imdb_id = library.get_ids(item) tmdb_item = config.TMDb.get_item(item, tmdb_id, tvdb_id, imdb_id, is_movie=True) - if tmdb_item and tmdb_item.collection_id and tmdb_item.collection_name and str(tmdb_item.collection_id) not in exclude and tmdb_item.collection_name not in exclude: + if tmdb_item and tmdb_item.collection_id and tmdb_item.collection_name: all_keys.append(str(tmdb_item.collection_id)) - auto_list[str(tmdb_item.collection_id)] = tmdb_item.collection_name + if str(tmdb_item.collection_id) not in exclude and tmdb_item.collection_name not in exclude: + auto_list[str(tmdb_item.collection_id)] = tmdb_item.collection_name logger.exorcise() elif auto_type == "original_language": all_items = library.get_all() @@ -636,7 +637,7 @@ class MetadataFile(DataFile): auto_list[add_key] = add_key addons[add_key] = final_keys else: - logger.warning(f"Config Error: {add_key} Custom Key must have at least one Key") + logger.warning(f"Config Warning: {add_key} Custom Key must have at least one Key") title_format = default_title_format if "title_format" in self.temp_vars: title_format = util.parse("Config", "title_format", self.temp_vars["title_format"], parent="template_variable", default=default_title_format) @@ -654,7 +655,7 @@ class MetadataFile(DataFile): test_override = [] for k, v in key_name_override.items(): if v in test_override: - logger.warning(f"Config Error: {v} can only be used once skipping {k}: {v}") + logger.warning(f"Config Warning: {v} can only be used once skipping {k}: {v}") key_name_override.pop(k) else: test_override.append(v) @@ -741,7 +742,7 @@ class MetadataFile(DataFile): key_name = key_name[:-len(suffix)].strip() key_value = [key] if key in all_keys else [] if key in addons: - key_value.extend([a for a in addons[key] if a in all_keys and a != key]) + key_value.extend([a for a in addons[key] if (a in all_keys or auto_type == "custom") and a != key]) used_keys.extend(key_value) og_call = {"value": key_value, auto_type: key_value, "key_name": key_name, "key": key} for k, v in template_variables.items(): diff --git a/modules/reciperr.py b/modules/reciperr.py index 06361364..f4bf77f0 100644 --- a/modules/reciperr.py +++ b/modules/reciperr.py @@ -26,11 +26,14 @@ class Reciperr: return valid_lists def get_imdb_ids(self, method, data): + name = "StevenLu" if method == "stevenlu_popular" else "Reciperr" + logger.info(f"Processing {name} Movies") if method == "reciperr_list": - logger.info(f"Processing Reciperr Movies") - return [(i["imdb_id"], "imdb") for i in self._request(data)] + ids = [(i["imdb_id"], "imdb") for i in self._request(data)] elif method == "stevenlu_popular": - logger.info(f"Processing StevenLu Popular Movies") - return [(i["imdb_id"], "imdb") for i in self._request(stevenlu_url, name="StevenLu")] + ids = [(i["imdb_id"], "imdb") for i in self._request(stevenlu_url, name="StevenLu")] else: - raise Failed(f"Reciperr Error: Method {method} not supported") + raise Failed(f"Config Error: Method {method} not supported") + if not ids: + raise Failed(f"{name} Error: No IDs found.") + return ids