예제 #1
0
파일: generic.py 프로젝트: feld/SickRage
    def _retrieve_show_images_from_fanart(self, show, img_type, thumb=False):
        types = {
            'poster': fanart.TYPE.TV.POSTER,
            'banner': fanart.TYPE.TV.BANNER,
            'poster_thumb': fanart.TYPE.TV.POSTER,
            'banner_thumb': fanart.TYPE.TV.BANNER,
            'fanart': fanart.TYPE.TV.BACKGROUND,
        }

        try:
            indexerid = helpers.mapIndexersToShow(show)[1]
            if indexerid:
                request = fanartRequest(
                    apikey=sickbeard.FANART_API_KEY,
                    id=indexerid,
                    ws=fanart.WS.TV,
                    type=types[img_type],
                    sort=fanart.SORT.POPULAR,
                    limit=fanart.LIMIT.ONE,
                )

                resp = request.response()
                url = resp[types[img_type]][0]['url']
                if thumb:
                    url = re.sub('/fanart/', '/preview/', url)
                return url
        except Exception:
            pass

        logger.log(u"Could not find any " + img_type + " images on Fanart.tv for " + show.name, logger.INFO)
예제 #2
0
    def _retrieve_show_images_from_fanart(self, show, img_type, thumb=False):
        types = {
            'poster': fanart_module.TYPE.TV.POSTER,
            'banner': fanart_module.TYPE.TV.BANNER,
            'poster_thumb': fanart_module.TYPE.TV.POSTER,
            'banner_thumb': fanart_module.TYPE.TV.BANNER,
            'fanart': fanart_module.TYPE.TV.BACKGROUND,
        }

        try:
            indexerid = helpers.mapIndexersToShow(show)[1]
            if indexerid:
                request = fanartRequest(
                    apikey=sickbeard.FANART_API_KEY,
                    id=indexerid,
                    ws=fanart_module.WS.TV,
                    type=types[img_type],
                    sort=fanart_module.SORT.POPULAR,
                    limit=fanart_module.LIMIT.ONE,
                )

                resp = request.response()
                url = resp[types[img_type]][0]['url']
                if thumb:
                    url = re.sub('/fanart/', '/preview/', url)
                return url
        except Exception:
            pass

        logger.log(
            "Could not find any " + img_type + " images on Fanart.tv for " +
            show.name, logger.INFO)
예제 #3
0
    def _retrieve_show_images_from_fanart(self, show, type, thumb=False):
        types = {
            "poster": fanart.TYPE.TV.POSTER,
            "banner": fanart.TYPE.TV.BANNER,
            "poster_thumb": fanart.TYPE.TV.POSTER,
            "banner_thumb": fanart.TYPE.TV.BANNER,
            "fanart": fanart.TYPE.TV.BACKGROUND,
        }

        try:
            indexerid = helpers.mapIndexersToShow(show)[1]
            if indexerid:
                request = fanartRequest(
                    apikey=sickbeard.FANART_API_KEY,
                    id=indexerid,
                    ws=fanart.WS.TV,
                    type=types[type],
                    sort=fanart.SORT.POPULAR,
                    limit=fanart.LIMIT.ONE,
                )

                resp = request.response()
                url = resp[types[type]][0]["url"]
                if thumb:
                    url = re.sub("/fanart/", "/preview/", url)
                return url
        except Exception as e:
            pass

        logger.log(u"Could not find any " + type + " images on Fanart.tv for " + show.name, logger.DEBUG)
예제 #4
0
파일: generic.py 프로젝트: EqUaTe/SickRage
    def _retrieve_show_image_urls_from_fanart(show,
                                              img_type,
                                              thumb=False,
                                              season=None,
                                              multiple=False):
        types = {
            'poster': fanart.TYPE.TV.POSTER,
            'banner': fanart.TYPE.TV.BANNER,
            'poster_thumb': fanart.TYPE.TV.POSTER,
            'banner_thumb': fanart.TYPE.TV.BANNER,
            'fanart': fanart.TYPE.TV.BACKGROUND,
            'season_poster': fanart.TYPE.TV.SEASONPOSTER,
            'season_banner': fanart.TYPE.TV.SEASONBANNER,
        }

        try:
            if img_type in types:
                request = fanartRequest(
                    apikey=settings.FANART_API_KEY,
                    id=show.indexerid,
                    ws=fanart.WS.TV,
                    type=types[img_type],
                    sort=fanart.SORT.POPULAR,
                    limit=(fanart.LIMIT.ONE,
                           fanart.LIMIT.ALL)[season is not None],
                )

                resp = request.response()
                results = resp[types[img_type]]
                if season:
                    results = [
                        x for x in results
                        if try_int(x['season'], default_value=None) == season
                    ]

                def _to_preview_url(url):
                    return re.sub('/fanart/', '/preview/', url)

                if multiple:
                    urls = [result['url'] for result in results]
                    if thumb:
                        urls = [_to_preview_url(url) for url in urls]
                    return urls
                else:
                    url = results[0]['url']
                    if thumb:
                        url = _to_preview_url(url)
                    return url
        except Exception as error:
            logger.debug(error)

        logger.info("Could not find any " + img_type +
                    " images on Fanart.tv for " + show.name)
예제 #5
0
    def _retrieve_show_image_urls_from_fanart(self,
                                              show,
                                              img_type,
                                              thumb=False,
                                              season=None):
        types = {
            'poster': fanart.TYPE.TV.POSTER,
            'banner': fanart.TYPE.TV.BANNER,
            'poster_thumb': fanart.TYPE.TV.POSTER,
            'banner_thumb': fanart.TYPE.TV.BANNER,
            'fanart': fanart.TYPE.TV.BACKGROUND,
            'season_poster': fanart.TYPE.TV.SEASONPOSTER,
            'season_banner': fanart.TYPE.TV.SEASONBANNER,
        }

        try:
            if img_type in types:
                request = fanartRequest(
                    apikey=sickbeard.FANART_API_KEY,
                    id=show.indexerid,
                    ws=fanart.WS.TV,
                    type=types[img_type],
                    sort=fanart.SORT.POPULAR,
                    limit=(fanart.LIMIT.ONE,
                           fanart.LIMIT.ALL)[season is not None],
                )

                resp = request.response()
                results = resp[types[img_type]]
                if season:
                    results = filter(
                        lambda x: try_int(x['season'], default_value=None) ==
                        season, results)

                url = results[0]['url']
                if thumb:
                    url = re.sub('/fanart/', '/preview/', url)
                return url
        except Exception as e:
            print(e)
            pass

        logger.log(
            "Could not find any " + img_type + " images on Fanart.tv for " +
            show.name, logger.INFO)