From ca129da294e5f8d8e4307279752774ec28c3d917 Mon Sep 17 00:00:00 2001 From: p0ps Date: Sat, 10 Sep 2022 11:44:20 +0200 Subject: [PATCH] Normalize the imdb_id (#10923) * Normalize the imdb_id * make sure we store imdb_id without `tt` in indexer_mapping * Fix indents --- medusa/indexers/tvmaze/api.py | 14 +++++++++++--- medusa/tv/series.py | 2 ++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/medusa/indexers/tvmaze/api.py b/medusa/indexers/tvmaze/api.py index ae925c5088..f30afc76fd 100644 --- a/medusa/indexers/tvmaze/api.py +++ b/medusa/indexers/tvmaze/api.py @@ -466,9 +466,17 @@ def _get_show_data(self, tvmaze_id, language='en'): # Get external ids. # As the external id's are not part of the shows default response, we need to make an additional call for it. # Im checking for the external value. to make sure only externals with a value get in. - self._set_show_data(tvmaze_id, 'externals', {external_id: text_type(getattr(self.shows[tvmaze_id], external_id, None)) - for external_id in ['tvdb_id', 'imdb_id', 'tvrage_id'] - if getattr(self.shows[tvmaze_id], external_id, None)}) + externals = { + external_id: text_type(getattr(self.shows[tvmaze_id], external_id, None)) + for external_id in ['tvdb_id', 'imdb_id', 'tvrage_id'] + if getattr(self.shows[tvmaze_id], external_id, None) + } + + # Normalize the imdb_id + if 'imdb_id' in externals: + externals['imdb_id'] = ImdbIdentifier(externals['imdb_id']).series_id + + self._set_show_data(tvmaze_id, 'externals', externals) # get episode data if self.config['episodes_enabled']: diff --git a/medusa/tv/series.py b/medusa/tv/series.py index 795b54721b..fea655fbc0 100644 --- a/medusa/tv/series.py +++ b/medusa/tv/series.py @@ -1368,6 +1368,8 @@ def _save_externals_to_db(self): for external in self.externals: if external in reverse_mappings and self.externals[external]: + if external == 'imdb_id': + self.externals[external] = ImdbIdentifier(self.externals[external]).series_id sql_l.append(['INSERT OR IGNORE ' 'INTO indexer_mapping (indexer_id, indexer, mindexer_id, mindexer) ' 'VALUES (?,?,?,?)',