mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-10 06:54:21 +00:00
convert multiple anime ids at once
This commit is contained in:
parent
144748675a
commit
73cf4eca49
5 changed files with 44 additions and 30 deletions
|
@ -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
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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):
|
||||
|
|
|
@ -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}")
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in a new issue