From 2658638f384aac50a47d6fe5c0264171ae9bcb16 Mon Sep 17 00:00:00 2001 From: Anderson Shindy Oki Date: Fri, 26 Jul 2024 09:09:40 +0900 Subject: [PATCH] Fixed anidb refinement for sonarr specials (#2590) --- bazarr/subtitles/refiners/anidb.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/bazarr/subtitles/refiners/anidb.py b/bazarr/subtitles/refiners/anidb.py index 36ed05786..c680bba5a 100644 --- a/bazarr/subtitles/refiners/anidb.py +++ b/bazarr/subtitles/refiners/anidb.py @@ -84,6 +84,22 @@ class AniDBClient(object): for index, anime_info in enumerate(animes): anime, episode_offset = anime_info + mapping_list = anime.find('mapping-list') + + # Handle mapping list for Specials + if mapping_list: + for mapping in mapping_list.findall("mapping"): + # Mapping values are usually like ;1-1;2-1;3-1; + for episode_ref in mapping.text.split(';'): + if not episode_ref: + continue + + anidb_episode, tvdb_episode = map(int, episode_ref.split('-')) + if tvdb_episode == episode: + anidb_id = int(anime.attrib.get('anidbid')) + + return anidb_id, anidb_episode + if episode > episode_offset: anidb_id = int(anime.attrib.get('anidbid')) offset = episode_offset