diff --git a/couchpotato/core/media/show/library/episode/main.py b/couchpotato/core/media/show/library/episode/main.py index 911ebdd..07344a0 100644 --- a/couchpotato/core/media/show/library/episode/main.py +++ b/couchpotato/core/media/show/library/episode/main.py @@ -47,6 +47,7 @@ class EpisodeLibraryPlugin(LibraryBase): parent = parent, season_number = tryInt(attrs.get('seasonnumber', None)), episode_number = tryInt(attrs.get('episodenumber', None)), + absolute_number = tryInt(attrs.get('absolute_number', None)) ) title = LibraryTitle( @@ -92,7 +93,8 @@ class EpisodeLibraryPlugin(LibraryBase): episode_params = {'season_identifier': parent_identifier, 'episode_identifier': identifier, - 'episode': library.episode_number} + 'episode': library.episode_number, + 'absolute': library.absolute_number,} info = fireEvent('episode.info', merge = True, params = episode_params) # Don't need those here @@ -113,6 +115,7 @@ class EpisodeLibraryPlugin(LibraryBase): library.status_id = done_status.get('id') library.season_number = tryInt(info.get('seasonnumber', None)) library.episode_number = tryInt(info.get('episodenumber', None)) + library.absolute_number = tryInt(info.get('absolute_number', None)) try: library.last_updated = int(info.get('lastupdated')) except: diff --git a/couchpotato/core/providers/info/xem/main.py b/couchpotato/core/providers/info/xem/main.py index 0fe260d..ef28fc7 100644 --- a/couchpotato/core/providers/info/xem/main.py +++ b/couchpotato/core/providers/info/xem/main.py @@ -1,7 +1,7 @@ from couchpotato.core.event import addEvent from couchpotato.core.logger import CPLog from couchpotato.core.providers.info.base import ShowProvider -from couchpotato.core.helpers.encoding import tryUrlencode +from couchpotato.core.helpers.encoding import toUnicode, tryUrlencode import traceback log = CPLog(__name__) @@ -138,7 +138,7 @@ class Xem(ShowProvider): if map_absolute: map.update({'map_absolute': map_absolute}) - map_names = result.get('map_names', {}).get(season, {}).get(episode, {}) + map_names = result.get('map_names', {}).get(toUnicode(season), {}) if map_names: map.update({'map_names': map_names}) diff --git a/couchpotato/core/settings/model.py b/couchpotato/core/settings/model.py index 3240282..472f669 100644 --- a/couchpotato/core/settings/model.py +++ b/couchpotato/core/settings/model.py @@ -204,6 +204,7 @@ class EpisodeLibrary(Library): last_updated = Field(Integer, index = True) season_number = Field(Integer, index = True) episode_number = Field(Integer, index = True) + absolute_number = Field(Integer, index = True) class LibraryTitle(Entity):