From c4d3577ba39189d47a73b470f24c8c06357df489 Mon Sep 17 00:00:00 2001 From: Prinz23 Date: Wed, 26 Jun 2024 14:12:26 +0100 Subject: [PATCH] Fix TVmaze parser to only directly map properties in map list Change add TMDB ratings alias in _convert_show --- CHANGES.md | 2 ++ lib/api_tmdb/tmdb_api.py | 1 + lib/api_tvmaze/tvmaze_api.py | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 25012714..f53869da 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,8 @@ ### 3.32.3 (2024-06-26 18:10:00 UTC) * Fix votes on shows/IMDb cards +* Fix ratings on shows/TMDB cards +* Fix TVmaze parser ### 3.32.2 (2024-06-26 07:20:00 UTC) diff --git a/lib/api_tmdb/tmdb_api.py b/lib/api_tmdb/tmdb_api.py index 0355bccd..9def292f 100644 --- a/lib/api_tmdb/tmdb_api.py +++ b/lib/api_tmdb/tmdb_api.py @@ -473,6 +473,7 @@ class TmdbIndexer(TVInfoBase): ti_show.popularity = show_dict.get('popularity') ti_show.vote_count = show_dict.get('vote_count') ti_show.vote_average = show_dict.get('vote_average') + ti_show.rating = ti_show.vote_average ti_show.origin_countries = show_dict.get('origin_country') or [] ti_show.genre_list = [] ti_show.origin_countries = clean_data(show_dict.get('origin_country') or []) diff --git a/lib/api_tvmaze/tvmaze_api.py b/lib/api_tvmaze/tvmaze_api.py index 90c6e336..741772cc 100644 --- a/lib/api_tvmaze/tvmaze_api.py +++ b/lib/api_tvmaze/tvmaze_api.py @@ -372,7 +372,8 @@ class TvMaze(TVInfoBase): log.error('error episodes have no numbers') ti_season = ti_season or ti_show[cur_season.season_number] # type: TVInfoSeason for k, v in iteritems(season_map): - setattr(ti_season, k, clean_data(getattr(cur_season, v, None)) or empty_se.get(v)) + if k not in ('network', ) and k in season_map: + setattr(ti_season, k, clean_data(getattr(cur_season, v, None)) or empty_se.get(v)) if cur_season.network: self._set_network(ti_season, cur_season.network, False) elif cur_season.web_channel: @@ -558,7 +559,7 @@ class TvMaze(TVInfoBase): _s_o = TVInfoShow() show_dict = _s_o.__dict__ for k, v in iteritems(show_dict): - if k not in ('cast', 'crew', 'images', 'aliases', 'rating'): + if k not in ('cast', 'crew', 'images', 'aliases', 'rating', 'network') and k in show_map: show_dict[k] = getattr(_s_d, show_map.get(k, k), clean_data(show_dict[k])) _s_o.aliases = [clean_data(a.name) for a in _s_d.akas] _s_o.runtime = _s_d.average_runtime or _s_d.runtime