diff --git a/modules/anidb.py b/modules/anidb.py index be50d21c..8ea0ce70 100644 --- a/modules/anidb.py +++ b/modules/anidb.py @@ -54,26 +54,19 @@ class AniDBAPI: pretty = util.pretty_names[method] if method in util.pretty_names else method if status_message: logger.debug(f"Data: {data}") - anime_ids = [] + anidb_ids = [] if method == "anidb_popular": if status_message: logger.info(f"Processing {pretty}: {data} Anime") - anime_ids.extend(self.get_popular(language)[:data]) + anidb_ids.extend(self.get_popular(language)[:data]) else: if status_message: logger.info(f"Processing {pretty}: {data}") - if method == "anidb_id": anime_ids.append(data) - elif method == "anidb_relation": anime_ids.extend(self.get_anidb_relations(data, language)) + if method == "anidb_id": anidb_ids.append(data) + elif method == "anidb_relation": anidb_ids.extend(self.get_anidb_relations(data, language)) else: raise Failed(f"AniDB Error: Method {method} not supported") - show_ids = [] - movie_ids = [] - for anidb_id in anime_ids: - tmdb_id, tvdb_id = self.config.convert_anidb_to_id(anidb_id, language) - if tmdb_id: - movie_ids.append(tmdb_id) - if tvdb_id: - show_ids.append(tvdb_id) + movie_ids, show_ids = self.config.convert_anidb_list(anidb_ids, language) if status_message: - logger.debug(f"AniDB IDs Found: {anime_ids}") + logger.debug(f"AniDB IDs Found: {anidb_ids}") logger.debug(f"TMDb IDs Found: {movie_ids}") logger.debug(f"TVDb IDs Found: {show_ids}") return movie_ids, show_ids diff --git a/modules/anilist.py b/modules/anilist.py index 6381597f..da69255b 100644 --- a/modules/anilist.py +++ b/modules/anilist.py @@ -254,14 +254,7 @@ class AniListAPI: logger.info(f"Processing {pretty}: ({data}) {name} ({len(anilist_ids)} Anime)") else: raise Failed(f"AniList Error: Method {method} not supported") - show_ids = [] - movie_ids = [] - for anilist_id in anilist_ids: - tmdb_id, tvdb_id = self.config.covert_anilist_to_id(anilist_id, language) - if tmdb_id: - movie_ids.append(tmdb_id) - if tvdb_id: - show_ids.append(tvdb_id) + movie_ids, show_ids = self.config.convert_anilist_list(anilist_ids, language) if status_message: logger.debug(f"AniList IDs Found: {anilist_ids}") logger.debug(f"Shows Found: {show_ids}") diff --git a/modules/config.py b/modules/config.py index 4a4e23f2..605cacfc 100644 --- a/modules/config.py +++ b/modules/config.py @@ -606,6 +606,23 @@ class Config: try: return None, self.convert_anidb_to_tvdb(anidb_id) except Failed: logger.error(f"AniDB Error: No TVDb ID or IMDb ID found for AniDB ID: {anidb_id}") + def convert_anidb_list(self, anidb_list, language): + show_ids = [] + movie_ids = [] + for anidb_id in anidb_list: + tmdb_id, tvdb_id = self.convert_anidb_to_id(anidb_id, language) + if tmdb_id: + movie_ids.append(tmdb_id) + if tvdb_id: + show_ids.append(tvdb_id) + return movie_ids, show_ids + + def convert_anilist_list(self, anilist_list, language): + return self.convert_anidb_list(self.convert_anilist_to_anidb(anilist_list), language) + + def convert_myanimelist_list(self, myanimelist_list, language): + return self.convert_anidb_list(self.convert_myanimelist_to_anidb(myanimelist_list), language) + def convert_anidb_to_tvdb(self, anidb_id): return self.convert_anidb(anidb_id, "anidbid", "tvdbid") def convert_anidb_to_imdb(self, anidb_id): return self.convert_anidb(anidb_id, "anidbid", "imdbid") def convert_tvdb_to_anidb(self, tvdb_id): return self.convert_anidb(tvdb_id, "tvdbid", "anidbid") @@ -636,6 +653,24 @@ class Config: raise Failed(f"Convert Error: AniList ID: {anilist_id} does not exist") return anime_ids[0]["anidb"] + def convert_anilist_to_anidb(self, anilist_ids): + anidb_ids = [] + for id_set in self.convert_anime_ids(anilist_ids=anilist_ids): + if id_set["anidb"] is not None: + anidb_ids.append(id_set["anidb"]) + else: + logger.error(f"Convert Error: AniDB ID not found for AniList ID: {id_set['anilist']}") + return anidb_ids + + def convert_myanimelist_to_anidb(self, mal_ids): + anidb_ids = [] + for id_set in self.convert_anime_ids(mal_ids=mal_ids): + if id_set["anidb"] is not None: + anidb_ids.append(id_set["anidb"]) + else: + logger.error(f"Convert Error: AniDB ID not found for MyAnimeList ID: {id_set['myanimelist']}") + return anidb_ids + def convert_anime_ids(self, anilist_ids=None, anidb_ids=None, mal_ids=None): all_ids = [] def collect_ids(ids, id_type): diff --git a/modules/mal.py b/modules/mal.py index d5412e51..77d738d9 100644 --- a/modules/mal.py +++ b/modules/mal.py @@ -219,14 +219,7 @@ class MyAnimeListAPI: logger.info(f"Processing {pretty}: {data['limit']} Anime from {self.get_username() if data['username'] == '@me' else data['username']}'s {pretty_names[data['status']]} list sorted by {pretty_names[data['sort_by']]}") else: raise Failed(f"MyAnimeList Error: Method {method} not supported") - show_ids = [] - movie_ids = [] - for mal_id in mal_ids: - tmdb_id, tvdb_id = self.config.covert_mal_to_id(mal_id, language) - if tmdb_id: - movie_ids.append(tmdb_id) - if tvdb_id: - show_ids.append(tvdb_id) + movie_ids, show_ids = self.config.convert_myanimelist_list(mal_ids, language) if status_message: logger.debug(f"MyAnimeList IDs Found: {mal_ids}") logger.debug(f"Shows Found: {show_ids}") diff --git a/plex_meta_manager.py b/plex_meta_manager.py index 7d13a640..97c7e6fa 100644 --- a/plex_meta_manager.py +++ b/plex_meta_manager.py @@ -89,7 +89,7 @@ util.centered("| |_) | |/ _ \\ \\/ / | |\\/| |/ _ \\ __/ _` | | |\\/| |/ _` | '_ util.centered("| __/| | __/> < | | | | __/ || (_| | | | | | (_| | | | | (_| | (_| | __/ | ") util.centered("|_| |_|\\___/_/\\_\\ |_| |_|\\___|\\__\\__,_| |_| |_|\\__,_|_| |_|\\__,_|\\__, |\\___|_| ") util.centered(" |___/ ") -util.centered(" Version: 1.7.2-Beta1 ") +util.centered(" Version: 1.7.2-Beta2 ") util.separator() if my_tests: