Example #1
0
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
        }
Example #2
0
    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
            }
        }
Example #3
0
    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
            }
        }
Example #4
0
    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
            }
        }
Example #5
0
    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
            }
        }
Example #6
0
    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
            }
        }
Example #7
0
    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
            }
        }
Example #8
0
    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
            }
        }
Example #9
0
    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) == {}
Example #11
0
def test_empty():
    assert Identifier.get_ids(None) == {}
Example #12
0
def test_string():
    assert Identifier.get_ids('com.plexapp.agents.imdb://tt123456') == {
        'imdb': 'tt123456'
    }
Example #13
0
def test_imdb():
    assert Identifier.get_ids(
        Guid.parse('com.plexapp.agents.imdb://tt123456')) == {
            'imdb': 'tt123456'
        }
Example #14
0
def test_unknown():
    assert Identifier.get_ids(Guid.parse('example://123456'),
                              strict=False) == {}
Example #15
0
def test_unknown_strict():
    assert Identifier.get_ids(Guid.parse('example://123456'),
                              strict=True) is None
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}
def test_empty():
    assert Identifier.get_ids(None) == {}