def test_tvdb(): assert Identifier.get_ids( Guid.parse('com.plexapp.agents.thetvdb://123456')) == { 'tvdb': 123456 } assert Identifier.get_ids( Guid.parse('com.plexapp.agents.thetvdb://123456')) == { 'tvdb': 123456 }
def build_movie(movie, guid): ids = Identifier.get_ids(guid, strict=False) if not ids: return None return { 'movie': { 'title': movie.title, 'year': movie.year, 'ids': ids } }
def build_episode(cls, episode, guid, part): # Retrieve show identifier ids = Identifier.get_ids(guid, strict=False) if not ids: # Try map episode to a supported service (with OEM) supported, request = ModuleManager['mapper'].request_episode( guid, episode, part=part ) if not supported: log.info('No mappings available for service: %r', guid.service) return request # Retrieve episode number season_num, episodes = ModuleManager['matcher'].process(episode) if len(episodes) > 0 and part - 1 < len(episodes): episode_num = episodes[part - 1] elif len(episodes) > 0: log.warn('Part %s doesn\'t exist in episodes: %r', part, episodes) episode_num = episodes[0] else: log.warn('Matcher didn\'t return a valid result - season_num: %r, episodes: %r', season_num, episodes) episode_num = episode.index # Process guid episode identifier overrides if guid.season is not None: season_num = guid.season # Build request return { 'show': { 'title': episode.show.title, 'year': episode.year, 'ids': ids }, 'episode': { 'title': episode.title, 'season': season_num, 'number': episode_num } }
def build_episode(cls, episode, guid, part): # Retrieve show identifier ids = Identifier.get_ids(guid, strict=False) if not ids: # Try map episode to a supported service (with OEM) supported, request = ModuleManager['mapper'].request_episode( guid, episode, part=part) if not supported: log.info('No mappings available for service: %r', guid.service) return request # Retrieve episode number season_num, episodes = ModuleManager['matcher'].process(episode) if len(episodes) > 0 and part - 1 < len(episodes): episode_num = episodes[part - 1] elif len(episodes) > 0: log.warn('Part %s doesn\'t exist in episodes: %r', part, episodes) episode_num = episodes[0] else: log.warn( 'Matcher didn\'t return a valid result - season_num: %r, episodes: %r', season_num, episodes) episode_num = episode.index # Process guid episode identifier overrides if guid.season is not None: season_num = guid.season # Build request return { 'show': { 'title': episode.show.title, 'year': episode.year, 'ids': ids }, 'episode': { 'title': episode.title, 'season': season_num, 'number': episode_num } }
def build_episode(episode, guid): ids = Identifier.get_ids(guid, strict=False) if not ids: return None return { 'show': { 'title': episode.show.title, 'year': episode.year, 'ids': ids }, 'episode': { 'title': episode.title, 'season': episode.season.index, 'number': episode.index } }
def build_movie(movie, guid, part): ids = Identifier.get_ids(guid, strict=False) if not ids: # Try map episode to a supported service (with OEM) supported, request = ModuleManager['mapper'].request_movie( guid, movie, part=part) if not supported: log.info('No mappings available for service: %r', guid.service) return request return { 'movie': { 'title': movie.title, 'year': movie.year, 'ids': ids } }
def build_movie(movie, guid, part): ids = Identifier.get_ids(guid, strict=False) if not ids: # Try map episode to a supported service (with OEM) supported, request = ModuleManager['mapper'].request_movie( guid, movie, part=part ) if not supported: log.info('No mappings available for service: %r', guid.service) return request return { 'movie': { 'title': movie.title, 'year': movie.year, 'ids': ids } }
def test_unknown(): assert Identifier.get_ids(Guid.parse('example://123456'), strict=False) == {}
def test_empty(): assert Identifier.get_ids(None) == {}
def test_string(): assert Identifier.get_ids('com.plexapp.agents.imdb://tt123456') == { 'imdb': 'tt123456' }
def test_imdb(): assert Identifier.get_ids( Guid.parse('com.plexapp.agents.imdb://tt123456')) == { 'imdb': 'tt123456' }
def test_unknown_strict(): assert Identifier.get_ids(Guid.parse('example://123456'), strict=True) is None
def test_string(): assert Identifier.get_ids('com.plexapp.agents.imdb://tt123456') == {'imdb': 'tt123456'}
def test_imdb(): assert Identifier.get_ids(Guid.parse('com.plexapp.agents.imdb://tt123456')) == {'imdb': 'tt123456'}
def test_tvdb(): assert Identifier.get_ids(Guid.parse('com.plexapp.agents.thetvdb://123456')) == {'tvdb': 123456} assert Identifier.get_ids(Guid.parse('com.plexapp.agents.thetvdb://123456')) == {'tvdb': 123456}