Esempio n. 1
0
    def on_task_input(self, task, config):
        entries = []
        api_key = config.get('api_key', None)
        for l_type, l_names in list(config.items()):
            if not isinstance(l_names, list):
                continue

            for l_name in l_names:
                results = plugin_api_rottentomatoes.lists(
                    list_type=l_type, list_name=l_name, api_key=api_key
                )
                if results:
                    for movie in results['movies']:
                        if [entry for entry in entries if movie['title'] == entry.get('title')]:
                            continue
                        imdb_id = movie.get('alternate_ids', {}).get('imdb')
                        if imdb_id:
                            imdb_id = 'tt' + str(imdb_id)
                        entries.append(
                            Entry(
                                title=movie['title'],
                                rt_id=movie['id'],
                                imdb_id=imdb_id,
                                rt_name=movie['title'],
                                url=movie['links']['alternate'],
                            )
                        )
                else:
                    log.critical(
                        'Failed to fetch Rotten tomatoes %s list: %s. List doesn\'t exist?'
                        % (l_type, l_name)
                    )
        return entries
Esempio n. 2
0
    def on_task_input(self, task, config):
        entries = []
        api_key = config.get('api_key', None)
        for l_type, l_names in list(config.items()):
            if not isinstance(l_names, list):
                continue

            for l_name in l_names:
                results = lists(list_type=l_type,
                                list_name=l_name,
                                api_key=api_key)
                if results:
                    for movie in results['movies']:
                        if [
                                entry for entry in entries
                                if movie['title'] == entry.get('title')
                        ]:
                            continue
                        imdb_id = movie.get('alternate_ids', {}).get('imdb')
                        if imdb_id:
                            imdb_id = 'tt' + str(imdb_id)
                        entries.append(
                            Entry(title=movie['title'],
                                  rt_id=movie['id'],
                                  imdb_id=imdb_id,
                                  rt_name=movie['title'],
                                  url=movie['links']['alternate']))
                else:
                    log.critical(
                        'Failed to fetch Rotten tomatoes %s list: %s. List doesn\'t exist?'
                        % (l_type, l_name))
        return entries