コード例 #1
0
def tmdbMoviesTitleYear(title, year, tmdb_api=None):
    try:
        string = 'tmdbMoviesTitleYear_%s_%s' % (title, year)
        url = 'https://api.themoviedb.org/3/search/movie?api_key=%s&query=%s&year=%s&page=%s' % (
            getTmdbAPI(tmdb_api), title, year)
        return cache_function(string, url, EXPIRY_1_MONTH)['results'][0]
    except:
        return None
コード例 #2
0
def tmdbEnglishTranslation(db_type, tmdb_id, tmdb_api=None):
    try:
        string = 'tmdbEnglishTranslation_%s_%s' % (db_type, tmdb_id)
        url = 'https://api.themoviedb.org/3/%s/%s/translations?api_key=%s' % (
            db_type, tmdb_id, getTmdbAPI(tmdb_api))
        return cache_function(getTmdb, string, url,
                              EXPIRY_1_YEAR)['translations']
    except:
        return None
コード例 #3
0
def tmdbTVShowsTitleYear(title, year, tmdb_api=None):
    try:
        string = 'tmdbTVShowsTitleYear_%s_%s' % (title, year)
        url = 'https://api.themoviedb.org/3/search/tv?api_key=%s&query=%s&first_air_date_year=%s' % (
            getTmdbAPI(tmdb_api), title, year)
        return cache_function(getTmdb, string, url,
                              EXPIRY_1_MONTH)['results'][0]
    except:
        return None
コード例 #4
0
def tmdbTVShowsExternalID(external_source, external_id, tmdb_api=None):
    try:
        string = 'tmdbTVShowsExternalID_%s_%s' % (external_source, external_id)
        url = 'https://api.themoviedb.org/3/find/%s?api_key=%s&external_source=%s' % (
            external_id, getTmdbAPI(tmdb_api), external_source)
        return cache_function(getTmdb, string, url,
                              EXPIRY_1_MONTH)['tv_results'][0]
    except:
        return None
コード例 #5
0
ファイル: fanarttv.py プロジェクト: CYBERxNUKE/xbmc-addon
def get(db_type, language, remote_id, client_key):
    def request_art(dummy):
        try:
            art = requests.get(query, headers=headers, timeout=20.0)
            return art.json()
        except:
            return None

    def parse_art(art):
        if art is None: return ''
        try:
            result = [(x['url'], x['likes']) for x in art
                      if x.get('lang') == language]
            if not result and language != 'en':
                result = [(x['url'], x['likes']) for x in art
                          if x.get('lang') == 'en']
            if not result:
                result = [(x['url'], x['likes']) for x in art if any(
                    value == x.get('lang') for value in ['00', ''])]
            if not result: result = [(x['url'], x['likes']) for x in art]
            result.sort(key=lambda x: int(x[1]), reverse=True)
            result = [x[0] for x in result][0]
        except:
            result = ''
        if not 'http' in result: result = ''
        return result

    if not remote_id: return default_extra_fanart
    query = base_url % (db_type, remote_id)
    headers = {'client-key': client_key, 'api-key': api_key}
    string = 'fanart_%s_%s_%s' % (db_type, language, remote_id)
    art = cache_function(request_art,
                         string,
                         'dummy',
                         EXPIRY_6_MONTHS,
                         json=False)
    if art == None or 'error_message' in art: return default_extra_fanart
    art_get = art.get
    if db_type == 'movies':
        fanart_data = {
            'fanarttv_poster':
            parse_art(art_get('movieposter')),
            'fanarttv_fanart':
            parse_art(art_get('moviebackground')),
            'banner':
            parse_art(art_get('moviebanner')),
            'clearart':
            parse_art(
                art_get('movieart', []) + art_get('hdmovieclearart', [])),
            'clearlogo':
            parse_art(art_get('movielogo', []) + art_get('hdmovielogo', [])),
            'landscape':
            parse_art(art_get('moviethumb')),
            'discart':
            parse_art(art_get('moviedisc')),
            'fanart_added':
            True
        }
    else:
        fanart_data = {
            'fanarttv_poster':
            parse_art(art_get('tvposter')),
            'fanarttv_fanart':
            parse_art(art_get('showbackground')),
            'banner':
            parse_art(art_get('tvbanner')),
            'clearart':
            parse_art(art_get('clearart', []) + art_get('hdclearart', [])),
            'clearlogo':
            parse_art(art_get('hdtvlogo', []) + art_get('clearlogo', [])),
            'landscape':
            parse_art(art_get('tvthumb')),
            'discart':
            '',
            'fanart_added':
            True
        }
    return fanart_data