def __init__(self): self.list = [] ; self.items = [] self.uk_datetime = self.uk_datetime() self.systime = (self.uk_datetime).strftime('%Y%m%d%H%M%S%f') self.lang = control.apiLanguage()['tmdb'] self.settingFanart = control.setting('fanart') self.hq_artwork = control.setting('hq.artwork') or 'false' self.trailer_source = control.setting('trailer.source') or '2' self.sky_now_link = 'https://epgservices.sky.com/5.1.1/api/2.0/channel/json/%s/now/nn/3' # self.sky_programme_link = 'http://tv.sky.com/programme/channel/%s/%s/%s.json' self.fanart_tv_user = control.setting('fanart.tv.user') self.fanart_tv_headers = {'api-key': api_keys.fanarttv_key} if not self.fanart_tv_user == '': self.fanart_tv_headers.update({'client-key': self.fanart_tv_user}) self.lang = control.apiLanguage()['tmdb'] self.tm_user = control.setting('tm.user') or api_keys.tmdb_key self.tmdb_api_link = 'https://api.themoviedb.org/3/movie/%s?api_key=%s&language=%s&append_to_response=credits,external_ids' % ('%s', self.tm_user, self.lang) self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.related_link = 'https://api.themoviedb.org/3/movie/%s/similar?api_key=%s&page=1' % ('%s', self.tm_user) # self.related_link = 'https://api.trakt.tv/movies/%s/related' self.session = requests.Session()
def __init__(self): self.list = [] self.tmdb_link = 'http://api.themoviedb.org' self.trakt_link = 'http://api-v2launch.trakt.tv' self.imdb_link = 'http://www.imdb.com' self.tmdb_key = base64.urlsafe_b64decode('OWI5MzlhZWUwYWFhZmMxMmE2NWJmNDQ4ZTRhZjk1NDM==') self.tvdb_key = base64.urlsafe_b64decode('MUQ2MkYyRjkwMDMwQzQ0NA==') self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.trakt_user = re.sub('[^a-z0-9]', '-', control.setting('trakt.user').strip().lower()) self.imdb_user = control.setting('imdb.user').replace('ur', '') self.tmdb_lang = control.apiLanguage()['tmdb'] self.tvdb_lang = control.apiLanguage()['tvdb'] self.tmdb_info_link = 'http://api.themoviedb.org/3/tv/%s?api_key=%s&language=%s&append_to_response=credits,content_ratings,external_ids' % ('%s', self.tmdb_key, self.tmdb_lang) self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/%s.xml' % (self.tvdb_key, '%s', self.tvdb_lang) self.tmdb_by_imdb = 'http://api.themoviedb.org/3/find/%s?api_key=%s&external_source=imdb_id' % ('%s', self.tmdb_key) self.tvdb_by_imdb = 'http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.imdb_by_query = 'http://www.omdbapi.com/?t=%s&y=%s' self.tmdb_image = 'http://image.tmdb.org/t/p/original' self.tmdb_poster = 'http://image.tmdb.org/t/p/w500' self.tvdb_image = 'http://thetvdb.com/banners/' self.persons_link = 'http://api.themoviedb.org/3/search/person?api_key=%s&query=%s&include_adult=false&page=1' % (self.tmdb_key, '%s') self.genres_link = 'http://api.themoviedb.org/3/genre/tv/list?api_key=%s&language=%s' % (self.tmdb_key, self.tmdb_lang) self.popular_link = 'http://api.themoviedb.org/3/tv/popular?api_key=%s&page=1' self.airing_link = 'http://api.themoviedb.org/3/tv/airing_today?api_key=%s&page=1' self.premiere_link = 'http://api.themoviedb.org/3/discover/tv?api_key=%s&first_air_date.gte=date[365]&first_air_date.lte=date[0]&page=1' self.active_link = 'http://api.themoviedb.org/3/tv/on_the_air?api_key=%s&page=1' self.rating_link = 'http://api.themoviedb.org/3/tv/top_rated?api_key=%s&page=1' self.views_link = 'http://api.themoviedb.org/3/discover/tv?api_key=%s&vote_count.gte=10&sort_by=vote_average.desc&page=1' self.person_link = 'http://api.themoviedb.org/3/person/%s?api_key=%s&append_to_response=tv_credits' self.genre_link = 'http://api.themoviedb.org/3/discover/tv?api_key=%s&with_genres=%s&air_date.gte=date[365]&air_date.lte=date[0]&page=1' self.network_link = 'http://api.themoviedb.org/3/discover/tv?api_key=%s&with_networks=%s&air_date.gte=date[365]&air_date.lte=date[0]&page=1' self.year_link = 'http://api.themoviedb.org/3/discover/tv?api_key=%s&first_air_date_year=%s&air_date.lte=date[0]&page=1' self.trending_link = 'http://api-v2launch.trakt.tv/shows/trending?limit=40&page=1' self.search_link = 'https://api-v2launch.trakt.tv/search?type=show&query=%s&limit=40' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/%s/lists' % self.trakt_user self.traktlikedlists_link = 'http://api-v2launch.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api-v2launch.trakt.tv/users/%s/collection/shows' % self.trakt_user self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/%s/watchlist/shows' % self.trakt_user self.traktfeatured_link = 'http://api-v2launch.trakt.tv/recommendations/shows?limit=40' self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=modified:desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=title:asc&title_type=tv_series,mini_series&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist' % self.imdb_user
def __init__(self, type=tools.Media.TypeMovie, kids=tools.Selection.TypeUndefined): self.type = type self.kids = kids self.restriction = 0 self.list = [] self.items = [] self.channels = {} self.groups = [ 'sky', 'bbc', 'tcm', '5', 'channel', 'film4', 'itv', 'movies 24', 'quest', 'sony', 'syfy', 'true' ] # https://github.com/Mermade/openSky/wiki/URL-links # https://github.com/Mermade/openSky/wiki/Channel-Identifiers self.uk_datetime = self.uk_datetime() self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.sky_channels_link = 'http://epgservices.sky.com/tvlistings-proxy/TVListingsProxy/init.json' self.sky_programme_link = 'http://epgservices.sky.com/tvlistings-proxy/TVListingsProxy/tvlistings.json?detail=2&channels=%s&time=%s' self.generes = ['3', '6'] self.lang = control.apiLanguage()['trakt']
def __init__(self, type='show', notifications=True): last = [] self.count = 40 self.list = [] self.meta = [] self.threads = [] self.type = type self.lang = control.apiLanguage()['tvdb'] self.notifications = notifications # self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.disable_fanarttv = control.setting('disable.fanarttv') self.tvmaze_link = 'https://www.tvmaze.com' self.tvmaze_info_link = 'https://api.tvmaze.com/shows/%s?embed=cast' tvdb_key_list = [ 'MDZjZmYzMDY5MGY5Yjk2MjI5NTcwNDRmMjE1OWZmYWU=', 'MUQ2MkYyRjkwMDMwQzQ0NA==', 'N1I4U1paWDkwVUE5WU1CVQ==' ] self.tvdb_key = tvdb_key_list[int(control.setting('tvdb.api.key'))] self.imdb_user = control.setting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key) self.tvdb_info_link = 'https://thetvdb.com/api/%s/series/%s/%s.xml' % ( self.tvdb_key.decode('base64'), '%s', '%s') self.tvdb_by_imdb = 'https://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'https://thetvdb.com/api/GetSeries.php?seriesname=%s' self.tvdb_image = 'https://thetvdb.com/banners/'
def search(self, url): try: apiLang = control.apiLanguage().get('youtube', 'en') if apiLang != 'en': url += "&relevanceLanguage=%s" % apiLang try: result = client.request(url, headers=self.headers) return result.status except: if result == None: import xbmcgui dialog = xbmcgui.Dialog() dialog.notification( 'Reached Quota, Wait or', 'Please use Your Personal Api in Youtube app.', xbmcgui.NOTIFICATION_INFO, 5000) return items = json.loads(result).get('items', []) items = [i.get('id', {}).get('videoId') for i in items] for vid_id in items: url = self.resolve(vid_id) if url: return url except: return
def __init__(self, type='show'): self.list = [] self.type = type self.lang = control.apiLanguage()['tvdb'] self.season_special = False self.disable_fanarttv = control.setting('disable.fanarttv') # self.date_time = (datetime.utcnow() - timedelta(hours=5)) self.date_time = datetime.utcnow() self.today_date = (self.date_time).strftime('%Y-%m-%d') self.tvdb_key = control.setting('tvdb.api.key') self.tvdb_info_link = 'https://thetvdb.com/api/%s/series/%s/all/%s.zip' % ( self.tvdb_key.decode('base64'), '%s', '%s') self.tvdb_by_imdb = 'https://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'https://thetvdb.com/api/GetSeries.php?seriesname=%s' self.tvdb_image = 'https://thetvdb.com/banners/' self.tvdb_poster = 'https://thetvdb.com/banners/_cache/' self.trakt_user = control.setting('trakt.user').strip() self.traktCredentials = trakt.getTraktCredentialsInfo() self.traktwatchlist_link = 'https://api-v2launch.trakt.tv/users/me/watchlist/seasons' self.traktlist_link = 'https://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktlists_link = 'https://api-v2launch.trakt.tv/users/me/lists' self.showunaired = control.setting('showunaired') or 'true' self.unairedcolor = control.getColor( control.setting('unaired.identify'))
def play_source(self, title, year, season, episode, imdb, tmdb, tvdb, url, meta, debridPackCall=False): try: from sys import argv # some functions like ActivateWindow() throw invalid handle less this is imported here. if not url: raise Exception self.media_type = 'movie' if season is None or episode is None else 'episode' self.title, self.year = title, str(year) if self.media_type == 'movie': self.name, self.season, self.episode = '%s (%s)' % (title, self.year), None, None elif self.media_type == 'episode': self.name, self.season, self.episode = '%s S%02dE%02d' % (title, int(season), int(episode)), '%01d' % int(season), '%01d' % int(episode) self.imdb, self.tmdb, self.tvdb = imdb or '', tmdb or '', tvdb or '' self.ids = {'imdb': self.imdb, 'tmdb': self.tmdb, 'tvdb': self.tvdb} ## - compare meta received to database and use largest(eventually switch to a request to fetch missing db meta for item) self.imdb_user = control.setting('imdb.user').replace('ur', '') self.tmdb_key = control.setting('tmdb.api.key') if not self.tmdb_key: self.tmdb_key = '3320855e65a9758297fec4f7c9717698' self.tvdb_key = control.setting('tvdb.api.key') if self.media_type == 'episode': self.user = str(self.imdb_user) + str(self.tvdb_key) else: self.user = str(self.tmdb_key) self.lang = control.apiLanguage()['tvdb'] meta1 = dict((k, v) for k, v in iter(meta.items()) if v is not None and v != '') if meta else None meta2 = metacache.fetch([{'imdb': self.imdb, 'tmdb': self.tmdb, 'tvdb': self.tvdb}], self.lang, self.user)[0] if meta2 != self.ids: meta2 = dict((k, v) for k, v in iter(meta2.items()) if v is not None and v != '') if meta1 is not None: try: if len(meta2) > len(meta1): meta2.update(meta1) meta = meta2 else: meta = meta1 except: log_utils.error() else: meta = meta2 if meta2 != self.ids else meta1 ################## self.poster = meta.get('poster') if meta else '' self.fanart = meta.get('fanart') if meta else '' self.meta = meta poster, thumb, season_poster, fanart, banner, clearart, clearlogo, discart, meta = self.getMeta(meta) self.offset = Bookmarks().get(name=self.name, imdb=imdb, tmdb=tmdb, tvdb=tvdb, season=season, episode=episode, year=self.year, runtime=meta.get('duration') if meta else 0) if self.offset == '-1': log_utils.log('User requested playback cancel', level=log_utils.LOGDEBUG) control.notification(message=32328) return control.cancelPlayback() item = control.item(path=url) item.setUniqueIDs(self.ids) if self.media_type == 'episode': item.setArt({'tvshow.clearart': clearart, 'tvshow.clearlogo': clearlogo, 'tvshow.discart': discart, 'thumb': thumb, 'tvshow.poster': season_poster, 'season.poster': season_poster, 'tvshow.fanart': fanart}) else: item.setArt({'clearart': clearart, 'clearlogo': clearlogo, 'discart': discart, 'thumb': thumb, 'poster': poster, 'fanart': fanart}) if 'castandart' in meta: item.setCast(meta.get('castandart', '')) item.setInfo(type='video', infoLabels=control.metadataClean(meta)) item.setProperty('IsPlayable', 'true') if debridPackCall: control.player.play(url, item) # seems this is only way browseDebrid pack files will play and have meta marked as watched else: control.resolve(int(argv[1]), True, item) homeWindow.setProperty('script.trakt.ids', jsdumps(self.ids)) self.keepAlive() homeWindow.clearProperty('script.trakt.ids') except: log_utils.error() return control.cancelPlayback()
def __init__(self, type = tools.Media.TypeMovie, kids = tools.Selection.TypeUndefined): self.type = type self.kids = kids self.certificates = None self.restriction = 0 if self.kidsOnly(): self.certificates = [] self.restriction = tools.Settings.getInteger('general.kids.restriction') if self.restriction >= 0: self.certificates.append('G') if self.restriction >= 1: self.certificates.append('PG') if self.restriction >= 2: self.certificates.append('PG-13') if self.restriction >= 3: self.certificates.append('R') self.certificates = ','.join(self.certificates).replace('-', '_').lower() self.certificates = '&certificates=us:' + self.certificates else: self.certificates = '' self.list = [] ; self.items = [] self.uk_datetime = self.uk_datetime() self.systime = (self.uk_datetime).strftime('%Y%m%d%H%M%S%f') self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.sky_now_link = 'http://epgservices.sky.com/5.1.1/api/2.0/channel/json/%s/now/nn/0' self.sky_programme_link = 'http://tv.sky.com/programme/channel/%s/%s/%s.json' self.lang = control.apiLanguage()['trakt']
def __init__(self): self.list = [] self.meta = [] self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours=5)) self.lang = control.apiLanguage()['tvdb'] self.tmdb_key = control.setting('tm.user') if self.tmdb_key == '' or self.tmdb_key is None: self.tmdb_key = '3320855e65a9758297fec4f7c9717698' self.tmdb_link = 'http://api.themoviedb.org' # self.tmdb_poster = 'http://image.tmdb.org/t/p/w500' self.tmdb_poster = 'http://image.tmdb.org/t/p/w300' # self.tmdb_fanart = 'http://image.tmdb.org/t/p/original' self.tmdb_fanart = 'http://image.tmdb.org/t/p/w1280' self.tmdb_info_link = 'http://api.themoviedb.org/3/tv/%s?api_key=%s&language=%s&append_to_response=credits,content_ratings,external_ids' % ( '%s', self.tmdb_key, self.lang) ### other "append_to_response" options alternative_titles,videos,images self.tmdb_art_link = 'http://api.themoviedb.org/3/tv/%s/images?api_key=%s&include_image_language=en,%s,null' % ( '%s', self.tmdb_key, self.lang) self.disable_fanarttv = control.setting('disable.fanarttv')
def __init__(self, type = 'show', notifications = True): last = [] self.count = 40 self.list = [] self.meta = [] self.threads = [] self.type = type self.lang = control.apiLanguage()['tvdb'] self.notifications = notifications self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.tvmaze_link = 'http://www.tvmaze.com' self.tvmaze_info_link = 'http://api.tvmaze.com/shows/%s?embed=cast' # self.tvdb_key = control.setting('tvdb.user') # if self.tvdb_key == '' or self.tvdb_key is None: # self.tvdb_key = '1D62F2F90030C444' self.tvdb_key = 'MUQ2MkYyRjkwMDMwQzQ0NA==' self.imdb_user = control.setting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key) self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/%s.xml' % (self.tvdb_key.decode('base64'), '%s', self.lang) self.tvdb_by_imdb = 'http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'http://thetvdb.com/api/GetSeries.php?seriesname=%s' self.tvdb_image = 'http://thetvdb.com/banners/'
def __init__(self, type='show'): self.list = [] self.type = type self.lang = control.apiLanguage()['tvdb'] self.season_special = False self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours=5)) self.today_date = (self.datetime).strftime('%Y-%m-%d') # self.tvdb_key = control.setting('tvdb.user') # if self.tvdb_key == '' or self.tvdb_key is None: self.tvdb_key = 'MUQ2MkYyRjkwMDMwQzQ0NA==' # decoded key above = 1D62F2F90030C444 # Test for api response # http://thetvdb.com/api/1D62F2F90030C444/series/121361/all/en.zip self.tvdb_info_link = 'https://thetvdb.com/api/%s/series/%s/all/%s.zip' % ( self.tvdb_key.decode('base64'), '%s', '%s') self.tvdb_by_imdb = 'https://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'https://thetvdb.com/api/GetSeries.php?seriesname=%s' self.tvdb_image = 'https://thetvdb.com/banners/' self.tvdb_poster = 'https://thetvdb.com/banners/_cache/' self.trakt_user = control.setting('trakt.user').strip() self.traktCredentials = trakt.getTraktCredentialsInfo() self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/me/watchlist/seasons' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/me/lists' self.showunaired = control.setting('showunaired') or 'true' self.unairedcolor = control.setting('unaired.identify') self.unairedcolor = self.getUnairedColor(self.unairedcolor)
def __init__(self, type='show'): self.list = [] self.type = type self.lang = control.apiLanguage()['tvdb'] self.season_special = False self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours=5)) self.today_date = (self.datetime).strftime('%Y-%m-%d') tvdb_key_list = [ 'MDZjZmYzMDY5MGY5Yjk2MjI5NTcwNDRmMjE1OWZmYWU=', 'MUQ2MkYyRjkwMDMwQzQ0NA==', 'N1I4U1paWDkwVUE5WU1CVQ==' ] self.tvdb_key = tvdb_key_list[int(control.setting('tvdb.api.key'))] self.tvdb_info_link = 'https://thetvdb.com/api/%s/series/%s/all/%s.zip' % ( self.tvdb_key.decode('base64'), '%s', '%s') self.tvdb_by_imdb = 'https://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'https://thetvdb.com/api/GetSeries.php?seriesname=%s' self.tvdb_image = 'https://thetvdb.com/banners/' self.tvdb_poster = 'https://thetvdb.com/banners/_cache/' self.trakt_user = control.setting('trakt.user').strip() self.traktCredentials = trakt.getTraktCredentialsInfo() self.traktwatchlist_link = 'https://api-v2launch.trakt.tv/users/me/watchlist/seasons' self.traktlist_link = 'https://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktlists_link = 'https://api-v2launch.trakt.tv/users/me/lists' self.showunaired = control.setting('showunaired') or 'true' self.unairedcolor = control.setting('unaired.identify') self.unairedcolor = control.getColor(self.unairedcolor)
def __init__(self): self.list = [] self.imdb_link = 'http://www.imdb.com' self.trakt_link = 'http://api.trakt.tv' self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.systime = (self.datetime).strftime('%Y%m%d%H%M%S%f') self.trakt_user = control.setting('trakt.user').strip() self.imdb_user = control.setting('imdb.user').replace('ur', '') self.tm_user = control.setting('tm.user') self.fanart_tv_user = control.setting('fanart.tv.user') self.user = str(control.setting('fanart.tv.user')) + str(control.setting('tm.user')) self.lang = control.apiLanguage()['trakt'] self.hidecinema = control.setting('hidecinema') self.search_link = 'http://api.trakt.tv/search/movie?limit=20&page=1&query=' self.fanart_tv_art_link = 'http://webservice.fanart.tv/v3/movies/%s' self.fanart_tv_level_link = 'http://webservice.fanart.tv/v3/level' self.tm_art_link = 'http://api.themoviedb.org/3/movie/%s/images?api_key=%s&language=en-US&include_image_language=en,%s,null' % ('%s', self.tm_user, self.lang) self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.persons_link = 'http://www.imdb.com/search/name?count=100&name=' self.personlist_link = 'http://www.imdb.com/search/name?count=100&gender=male,female' self.person_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&role=%s&sort=year,desc&count=40&start=1' self.keyword_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[0]&keywords=%s&sort=moviemeter,asc&count=40&start=1' self.oscars_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&groups=oscar_best_picture_winners&sort=year,desc&count=40&start=1' self.theaters_link = 'http://www.imdb.com/search/title?title_type=feature&num_votes=1000,&release_date=date[365],date[0]&sort=release_date_us,desc&count=40&start=1' self.year_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&year=%s,%s&sort=moviemeter,asc&count=40&start=1' if self.hidecinema == 'true': self.popular_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&groups=top_1000&release_date=,date[90]&sort=moviemeter,asc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&sort=num_votes,desc&release_date=,date[90]&count=40&start=1' self.featured_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&release_date=date[365],date[90]&sort=moviemeter,asc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[90]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&primary_language=%s&sort=moviemeter,asc&release_date=,date[90]&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&certificates=us:%s&sort=moviemeter,asc&release_date=,date[90]&count=40&start=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&sort=boxoffice_gross_us,desc&release_date=,date[90]&count=40&start=1' else: self.popular_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&groups=top_1000&sort=moviemeter,asc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&sort=num_votes,desc&count=40&start=1' self.featured_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&release_date=date[365],date[60]&sort=moviemeter,asc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[0]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/sech/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&primary_language=%s&sort=moviemeter,asc&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&certificates=us:%s&sort=moviemeter,asc&count=40&start=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&sort=boxoffice_gross_us,desc&count=40&start=1' self.trending_link = 'http://api.trakt.tv/movies/trending?limit=40&page=1' self.traktlists_link = 'http://api.trakt.tv/users/me/lists' self.traktlikedlists_link = 'http://api.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api.trakt.tv/users/me/collection/movies' self.traktwatchlist_link = 'http://api.trakt.tv/users/me/watchlist/movies' self.traktfeatured_link = 'http://api.trakt.tv/recommendations/movies?limit=40' self.trakthistory_link = 'http://api.trakt.tv/users/me/history/movies?limit=40&page=1' self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=modified:desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=title:asc&title_type=feature,short,tv_movie,tv_special,video,documentary,game&start=1' self.imdblist2_link = 'http://www.imdb.com/list/%s/?view=detail&sort=created:desc&title_type=feature,short,tv_movie,tv_special,video,documentary,game&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=alpha,asc' % self.imdb_user self.imdbwatchlist2_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=date_added,desc' % self.imdb_user
def __init__(self): self.list = [] self.meta = [] self.lang = control.apiLanguage()['trakt'] self.tmdb_info_link = base_link + '/3/movie/%s?api_key=%s&language=%s&append_to_response=credits,release_dates,videos' % ('%s', API_key, self.lang) # self.tmdb_info_link = base_link + '/3/movie/%s?api_key=%s&language=%s&append_to_response=credits,release_dates,videos,alternative_titles' % ('%s', API_key, self.lang) ### other "append_to_response" options external_ids,alternative_titles,images self.tmdb_art_link = base_link + '/3/movie/%s/images?api_key=%s&include_image_language=en,%s,null' % ('%s', API_key, self.lang) self.tmdb_external_ids = base_link + '/3/movie/%s/external_ids?api_key=%s' % ('%s', API_key)
def __init__(self): self.list = [] self.meta = [] self.lang = control.apiLanguage()['tvdb'] self.tmdb_info_link = base_link + '/3/tv/%s?api_key=%s&language=%s&append_to_response=credits,content_ratings,external_ids' % ( '%s', API_key, self.lang) ### other "append_to_response" options alternative_titles,videos,images self.tmdb_art_link = base_link + '/3/tv/%s/images?api_key=%s&include_image_language=en,%s,null' % ( '%s', API_key, self.lang)
def __init__(self): self.list = [] self.meta = [] self.lang = control.apiLanguage()['tvdb'] self.details_link = base_link + 'tv/%s?api_key=%s&language=%s&append_to_response=credits,content_ratings,external_ids' % ('%s', API_key, self.lang) ### other "append_to_response" options alternative_titles,videos,images self.art_link = base_link + 'tv/%s/images?api_key=%s&include_image_language=en,%s,null' % ('%s', API_key, self.lang) self.tvdb_key = control.setting('tvdb.api.key') self.imdb_user = control.setting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key)
def __init__(self): self.list = [] ; self.items = [] self.uk_datetime = self.uk_datetime() self.systime = (self.uk_datetime).strftime('%Y%m%d%H%M%S%f') self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.lang = control.apiLanguage()['trakt'] self.sky_now_link = 'http://epgservices.sky.com/5.1.1/api/2.0/channel/json/%s/now/nn/0' self.sky_programme_link = 'http://tv.sky.com/programme/channel/%s/%s/%s.json'
def __init__(self): self.count = 40 self.list = [] self.meta = [] self.lang = control.apiLanguage()['tvdb'] self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.fanart_tv_user = control.setting('fanart.tv.user') if self.fanart_tv_user == '' or self.fanart_tv_user is None: self.fanart_tv_user = '******' self.user = self.fanart_tv_user + str('') self.fanart_tv_art_link = 'http://webservice.fanart.tv/v3/tv/%s' self.fanart_tv_level_link = 'http://webservice.fanart.tv/v3/level' # self.tvdb_key = control.setting('tvdb.user') # if self.tvdb_key == '' or self.tvdb_key is None: # self.tvdb_key = '1D62F2F90030C444' self.tvdb_key = 'MUQ2MkYyRjkwMDMwQzQ0NA==' self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/%s.xml' % (self.tvdb_key.decode('base64'), '%s', self.lang) self.tvdb_by_imdb = 'http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'http://thetvdb.com/api/GetSeries.php?seriesname=%s' self.tvdb_image = 'http://thetvdb.com/banners/' ##--TMDb artwork try: if self.tmdb_key == '': raise Exception() art2 = client.request(self.tmdb_art_link % imdb, timeout='20', error=True) art2 = json.loads(art2) except: pass try: poster3 = art2['posters'] poster3 = [(x['width'], x['file_path']) for x in poster3] poster3 = [x[1] for x in poster3] poster3 = self.tmdb_poster + poster3[0] except: poster3 = '0' try: fanart2 = art2['backdrops'] fanart2 = [(x['width'], x['file_path']) for x in fanart2] fanart2 = [x[1] for x in fanart2] fanart2 = self.tmdb_fanart + fanart2[0] except: fanart2 = '0'
def __init__(self): self.list = [] self.meta = [] self.enable_fanarttv = getSetting('enable.fanarttv') == 'true' self.lang = apiLanguage()['tmdb'] self.movie_link = base_link + 'movie/%s?api_key=%s&language=%s&append_to_response=credits,release_dates,videos,alternative_titles' % ('%s', API_key, self.lang) ### other "append_to_response" options external_ids,images,content_ratings, translations self.art_link = base_link + 'movie/%s/images?api_key=%s' % ('%s', API_key) self.external_ids = base_link + 'movie/%s/external_ids?api_key=%s' % ('%s', API_key) # self.user = str(self.imdb_user) + str(API_key) self.user = str(API_key)
def __init__(self): self.list = [] self.meta = [] self.disable_fanarttv = control.setting('disable.fanarttv') == 'true' self.lang = control.apiLanguage()['tmdb'] self.show_link = base_link + 'tv/%s?api_key=%s&language=%s&append_to_response=credits,content_ratings,external_ids,alternative_titles,videos' % ('%s', API_key, self.lang) self.art_link = base_link + 'tv/%s/images?api_key=%s' % ('%s', API_key) self.tvdb_key = control.setting('tvdb.api.key') self.imdb_user = control.setting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key) self.date_time = datetime.now() self.today_date = (self.date_time).strftime('%Y-%m-%d')
def __init__(self, type = tools.Media.TypeShow, kids = tools.Selection.TypeUndefined): self.type = type self.kids = kids self.certificates = None self.restriction = 0 if self.kidsOnly(): self.certificates = [] self.restriction = tools.Settings.getInteger('general.kids.restriction') if self.restriction >= 0: self.certificates.append('TV-Y') if self.restriction >= 1: self.certificates.append('TV-Y7') if self.restriction >= 2: self.certificates.append('TV-PG') if self.restriction >= 3: self.certificates.append('TV-14') self.certificates = ','.join(self.certificates).replace('-', '_').lower() self.certificates = '&certificates=us:' + self.certificates else: self.certificates = '' self.list = [] self.trakt_link = 'http://api-v2launch.trakt.tv' self.tvmaze_link = 'http://api.tvmaze.com' self.tvdb_key = 'MDk1NUY1N0Q5QTlENEZEQw==' self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.systime = (self.datetime).strftime('%Y%m%d%H%M%S%f') self.today_date = (self.datetime).strftime('%Y-%m-%d') self.trakt_user = control.setting('accounts.informants.trakt.user').strip() self.lang = control.apiLanguage()['tvdb'] self.fanart_tv_user = control.setting('accounts.artwork.fanart.api') if control.setting('accounts.artwork.fanart.enabled') else '' self.user = self.fanart_tv_user + str('') self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/all/%s.zip' % (self.tvdb_key.decode('base64'), '%s', '%s') self.tvdb_image = 'http://thetvdb.com/banners/' self.tvdb_poster = 'http://thetvdb.com/banners/_cache/' self.added_link = 'http://api.tvmaze.com/schedule' self.mycalendar_link = 'http://api-v2launch.trakt.tv/calendars/my/shows/date[29]/60/' self.trakthistory_link = 'http://api-v2launch.trakt.tv/users/me/history/shows?limit=300' self.progress_link = 'http://api-v2launch.trakt.tv/users/me/watched/shows' self.hiddenprogress_link = 'http://api-v2launch.trakt.tv/users/hidden/progress_watched?limit=1000&type=show' self.calendar_link = 'http://api.tvmaze.com/schedule?date=%s' self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/me/watchlist/episodes' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/me/lists' self.traktlikedlists_link = 'http://api-v2launch.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items'
def search(self, url): try: query = urlparse.parse_qs(urlparse.urlparse(url).query)['q'][0] apiLang = control.apiLanguage()['youtube'] if apiLang != 'en': query += ' %s' % control.apiLanguage(True)['youtube'] url += "&relevanceLanguage=%s" % apiLang url = self.search_link % urllib.quote_plus(query) + self.key_link result = client.request(url) items = json.loads(result)['items'] items = [(i['id']['videoId']) for i in items] for url in items: url = self.resolve(url) if not url is None: return url except: return
def __init__(self): self.list = [] self.items = [] self.lang = control.apiLanguage()['trakt'] self.uk_datetime = self.uk_datetime() self.systime = (self.uk_datetime).strftime('%Y%m%d%H%M%S%f') self.imdb_by_query = 'http://www.omdbapi.com/?t=%s&y=%s' self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.sky_now_link = 'http://epgservices.sky.com/5.1.1/api/2.0/channel/json/%s/now/nn/0' self.sky_programme_link = 'http://tv.sky.com/programme/channel/%s/%s/%s.json' self.trakt_lang_link = 'http://api-v2launch.trakt.tv/movies/%s/translations/%s'
def __init__(self): self.list = [] self.meta = [] self.enable_fanarttv = getSetting('enable.fanarttv') == 'true' self.lang = apiLanguage()['tmdb'] self.show_link = base_link + 'tv/%s?api_key=%s&language=%s&append_to_response=credits,content_ratings,external_ids,alternative_titles,videos' % ('%s', API_key, self.lang) # 'append_to_response=translations, aggregate_credits' (DO NOT USE, response data way to massive and bogs the response time) self.art_link = base_link + 'tv/%s/images?api_key=%s' % ('%s', API_key) self.tvdb_key = getSetting('tvdb.api.key') self.imdb_user = getSetting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key) self.date_time = datetime.now() self.today_date = (self.date_time).strftime('%Y-%m-%d')
def __init__(self): last = [] self.count = 40 self.list = [] self.meta = [] self.threads = [] self.lang = apiLanguage()['tvdb'] self.base_link = 'https://api.tvmaze.com' self.tvmaze_info_link = 'https://api.tvmaze.com/shows/%s?embed=cast' self.tvdb_key = getSetting('tvdb.api.key') self.imdb_user = getSetting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key) self.enable_fanarttv = getSetting('enable.fanarttv') == 'true'
def __init__(self): self.list = [] self.imdb_link = 'http://www.imdb.com' self.trakt_link = 'http://api.trakt.tv' self.tvmaze_link = 'http://www.tvmaze.com' self.tvdb_key = 'MUQ2MkYyRjkwMDMwQzQ0NA==' self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.trakt_user = control.setting('trakt.user').strip() self.imdb_user = control.setting('imdb.user').replace('ur', '') self.fanart_tv_user = control.setting('fanart.tv.user') self.user = control.setting('fanart.tv.user') + str('') self.lang = control.apiLanguage()['tvdb'] self.search_link = 'http://api.trakt.tv/search/show?limit=20&page=1&query=' self.tvmaze_info_link = 'http://api.tvmaze.com/shows/%s' self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/%s.xml' % (self.tvdb_key.decode('base64'), '%s', self.lang) self.fanart_tv_art_link = 'http://webservice.fanart.tv/v3/tv/%s' self.fanart_tv_level_link = 'http://webservice.fanart.tv/v3/level' self.tvdb_by_imdb = 'http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'http://thetvdb.com/api/GetSeries.php?seriesname=%s' self.imdb_by_query = 'http://www.omdbapi.com/?t=%s&y=%s' self.tvdb_image = 'http://thetvdb.com/banners/' self.persons_link = 'http://www.imdb.com/search/name?count=100&name=' self.personlist_link = 'http://www.imdb.com/search/name?count=100&gender=male,female' self.popular_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=100,&release_date=,date[0]&sort=moviemeter,asc&count=40&start=1' self.airing_link = 'http://www.imdb.com/search/title?title_type=tv_episode&release_date=date[1],date[0]&sort=moviemeter,asc&count=40&start=1' self.active_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=10,&production_status=active&sort=moviemeter,asc&count=40&start=1' self.premiere_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&languages=en&num_votes=10,&release_date=date[60],date[0]&sort=moviemeter,asc&count=40&start=1' self.rating_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=5000,&release_date=,date[0]&sort=user_rating,desc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=100,&release_date=,date[0]&sort=num_votes,desc&count=40&start=1' self.person_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&role=%s&sort=year,desc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.keyword_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&keywords=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=100,&production_status=released&primary_language=%s&sort=moviemeter,asc&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&certificates=us:%s&sort=moviemeter,asc&count=40&start=1' self.trending_link = 'http://api.trakt.tv/shows/trending?limit=40&page=1' self.traktlists_link = 'http://api.trakt.tv/users/me/lists' self.traktlikedlists_link = 'http://api.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api.trakt.tv/users/me/collection/shows' self.traktwatchlist_link = 'http://api.trakt.tv/users/me/watchlist/shows' self.traktfeatured_link = 'http://api.trakt.tv/recommendations/shows?limit=40' self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=modified:desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=title:asc&title_type=tv_series,mini_series&start=1' self.imdblist2_link = 'http://www.imdb.com/list/%s/?view=detail&sort=created:desc&title_type=tv_series,mini_series&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=alpha,asc' % self.imdb_user self.imdbwatchlist2_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=date_added,desc' % self.imdb_user
def search(self, url): try: apiLang = control.apiLanguage().get('youtube', 'en') if apiLang != 'en': url += "&relevanceLanguage=%s" % apiLang result = client.request(url) items = json.loads(result).get('items', []) items = [i.get('id', {}).get('videoId') for i in items] for vid_id in items: url = self.resolve(vid_id) if url: return url except: return
def __init__(self): self.list = [] self.imdb_link = 'http://www.imdb.com' self.trakt_link = 'http://api-v2launch.trakt.tv' self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.systime = (self.datetime).strftime('%Y%m%d%H%M%S%f') self.trakt_user = control.setting('trakt.user').strip() self.imdb_user = control.setting('imdb.user').replace('ur', '') self.tm_user = control.setting('tm.user') self.fanart_tv_user = control.setting('fanart.tv.user') self.user = str(control.setting('fanart.tv.user')) + str(control.setting('tm.user')) self.lang = control.apiLanguage()['trakt'] self.search_link = 'http://api-v2launch.trakt.tv/search?type=movie&limit=20&page=1&query=' self.imdb_info_link = 'http://www.omdbapi.com/?i=%s&plot=full&r=json' self.trakt_info_link = 'http://api-v2launch.trakt.tv/movies/%s' self.trakt_lang_link = 'http://api-v2launch.trakt.tv/movies/%s/translations/%s' self.fanart_tv_art_link = 'http://webservice.fanart.tv/v3/movies/%s' self.fanart_tv_level_link = 'http://webservice.fanart.tv/v3/level' self.tm_art_link = 'http://api.themoviedb.org/3/movie/%s/images?api_key=' + self.tm_user self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.persons_link = 'http://www.imdb.com/search/name?count=100&name=' self.personlist_link = 'http://www.imdb.com/search/name?count=100&gender=male,female' self.popular_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=1000,&production_status=released&groups=top_1000&sort=moviemeter,asc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=1000,&production_status=released&sort=num_votes,desc&count=40&start=1' self.featured_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=1000,&production_status=released&release_date=date[365],date[60]&sort=moviemeter,asc&count=40&start=1' self.person_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&role=%s&sort=year,desc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=100,&release_date=date[730],date[30]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&languages=%s&sort=moviemeter,asc&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=100,&production_status=released&certificates=us:%s&sort=moviemeter,asc&count=40&start=1' self.year_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=100,&production_status=released&year=%s,%s&sort=moviemeter,asc&count=40&start=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&production_status=released&sort=boxoffice_gross_us,desc&count=40&start=1' self.oscars_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&production_status=released&groups=oscar_best_picture_winners&sort=year,desc&count=40&start=1' self.theaters_link = 'http://www.imdb.com/search/title?title_type=feature&languages=en&num_votes=1000,&release_date=date[365],date[0]&sort=release_date_us,desc&count=40&start=1' self.trending_link = 'http://api-v2launch.trakt.tv/movies/trending?limit=40&page=1' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/me/lists' self.traktlikedlists_link = 'http://api-v2launch.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api-v2launch.trakt.tv/users/me/collection/movies' self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/me/watchlist/movies' self.traktfeatured_link = 'http://api-v2launch.trakt.tv/recommendations/movies?limit=40' self.trakthistory_link = 'http://api-v2launch.trakt.tv/users/me/history/movies?limit=40&page=1' self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=modified:desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=title:asc&title_type=feature,short,tv_movie,tv_special,video,documentary,game&start=1' self.imdblist2_link = 'http://www.imdb.com/list/%s/?view=detail&sort=created:desc&title_type=feature,short,tv_movie,tv_special,video,documentary,game&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=alpha,asc' % self.imdb_user self.imdbwatchlist2_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=date_added,desc' % self.imdb_user
def __init__(self, type=tools.Media.TypeShow, kids=tools.Selection.TypeUndefined): self.type = type self.kids = kids self.certificates = None self.restriction = 0 if self.kidsOnly(): self.certificates = [] self.restriction = tools.Settings.getInteger( 'general.kids.restriction') if self.restriction >= 0: self.certificates.append('TV-Y') if self.restriction >= 1: self.certificates.append('TV-Y7') if self.restriction >= 2: self.certificates.append('TV-PG') if self.restriction >= 3: self.certificates.append('TV-14') self.certificates = ','.join(self.certificates).replace( '-', '_').lower() self.certificates = '&certificates=us:' + self.certificates else: self.certificates = '' self.list = [] self.lang = control.apiLanguage()['tvdb'] self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours=5)) self.today_date = (self.datetime).strftime('%Y-%m-%d') self.tvdb_key = tools.System.obfuscate( tools.Settings.getString('internal.tvdb.api', raw=True)) self.trakt_user = control.setting( 'accounts.informants.trakt.user').strip() self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/me/watchlist/seasons' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/me/lists' self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/all/%s.zip' % ( self.tvdb_key, '%s', '%s') self.tvdb_by_imdb = 'http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'http://thetvdb.com/api/GetSeries.php?seriesname=%s' self.imdb_by_query = 'http://www.omdbapi.com/?t=%s&y=%s' self.tvdb_image = 'http://thetvdb.com/banners/' self.tvdb_poster = 'http://thetvdb.com/banners/_cache/'
def __init__(self): self.list = [] self.lang = control.apiLanguage()['tmdb'] self.enable_fanarttv = getSetting('enable.fanarttv') == 'true' self.prefer_tmdbArt = getSetting('prefer.tmdbArt') == 'true' self.date_time = datetime.now() self.today_date = (self.date_time).strftime('%Y-%m-%d') self.tmdb_poster_path = 'https://image.tmdb.org/t/p/w342' self.trakt_user = getSetting('trakt.username').strip() self.traktCredentials = trakt.getTraktCredentialsInfo() # self.traktwatchlist_link = 'https://api.trakt.tv/users/me/watchlist/seasons' # self.traktlists_link = 'https://api.trakt.tv/users/me/lists' self.showunaired = getSetting('showunaired') == 'true' self.unairedcolor = control.getColor(getSetting('unaired.identify')) self.showspecials = getSetting('tv.specials') == 'true'
def __init__(self, type='show', notifications=True): last = [] self.count = 40 self.list = [] self.meta = [] self.threads = [] self.type = type self.lang = control.apiLanguage()['tvdb'] self.notifications = notifications self.base_link = 'https://api.tvmaze.com' self.tvmaze_info_link = 'https://api.tvmaze.com/shows/%s?embed=cast' self.tvdb_key = control.setting('tvdb.api.key') self.imdb_user = control.setting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key) self.disable_fanarttv = control.setting('disable.fanarttv') == 'true'
def __init__(self): self.mode = control.setting('trailer.select') or '1' self.content = control.infoLabel('Container.Content') self.tm_user = control.setting('tm.user') or api_keys.tmdb_key self.lang = control.apiLanguage()['tmdb'] self.lang_link = 'en,null' if self.lang == 'en' else 'en,%s,null' % self.lang self.movie_url = 'https://api.themoviedb.org/3/movie/%s/videos?api_key=%s&include_video_language=%s' % ( '%s', self.tm_user, self.lang_link) self.show_url = 'https://api.themoviedb.org/3/tv/%s/videos?api_key=%s&include_video_language=%s' % ( '%s', self.tm_user, self.lang_link) self.season_url = 'https://api.themoviedb.org/3/tv/%s/season/%s/videos?api_key=%s&include_video_language=%s' % ( '%s', '%s', self.tm_user, self.lang_link) self.episode_url = 'https://api.themoviedb.org/3/tv/%s/season/%s/episode/%s/videos?api_key=%s&include_video_language=%s' % ( '%s', '%s', '%s', self.tm_user, self.lang_link) self.yt_plugin_url = 'plugin://plugin.video.youtube/?action=play_video&videoid=%s'
def __init__(self): self.list = [] self.meta = [] self.lang = control.apiLanguage()['tvdb'] self.tmdb_info_link = base_link + '/3/tv/%s?api_key=%s&language=%s&append_to_response=credits,content_ratings,external_ids' % ('%s', API_key, self.lang) ### other "append_to_response" options alternative_titles,videos,images self.tmdb_art_link = base_link + '/3/tv/%s/images?api_key=%s&include_image_language=en,%s,null' % ('%s', API_key, self.lang) tvdb_key_list = [ 'MDZjZmYzMDY5MGY5Yjk2MjI5NTcwNDRmMjE1OWZmYWU=', 'MUQ2MkYyRjkwMDMwQzQ0NA==', 'N1I4U1paWDkwVUE5WU1CVQ=='] self.tvdb_key = tvdb_key_list[int(control.setting('tvdb.api.key'))] self.imdb_user = control.setting('imdb.user').replace('ur', '') self.user = str(self.imdb_user) + str(self.tvdb_key)
def __init__(self): self.list = [] self.tmdb_link = 'http://api.themoviedb.org' self.trakt_link = 'http://api-v2launch.trakt.tv' self.imdb_link = 'http://www.imdb.com' self.tmdb_key = base64.urlsafe_b64decode('OWI5MzlhZWUwYWFhZmMxMmE2NWJmNDQ4ZTRhZjk1NDM==') self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.systime = (self.datetime).strftime('%Y%m%d%H%M%S%f') self.trakt_user = re.sub('[^a-z0-9]', '-', control.setting('trakt.user').strip().lower()) self.imdb_user = control.setting('imdb.user').replace('ur', '') self.tmdb_lang = control.apiLanguage()['tmdb'] self.tmdb_info_link = 'http://api.themoviedb.org/3/movie/%s?api_key=%s&language=%s&append_to_response=credits,releases' % ('%s', self.tmdb_key, self.tmdb_lang) self.imdb_by_query = 'http://www.omdbapi.com/?t=%s&y=%s' self.tmdb_image = 'http://image.tmdb.org/t/p/original' self.tmdb_poster = 'http://image.tmdb.org/t/p/w500' self.persons_link = 'http://api.themoviedb.org/3/search/person?api_key=%s&query=%s&include_adult=false&page=1' % (self.tmdb_key, '%s') self.personlist_link = 'http://api.themoviedb.org/3/person/popular?api_key=%s&page=%s' % (self.tmdb_key, '%s') self.genres_link = 'http://api.themoviedb.org/3/genre/movie/list?api_key=%s&language=%s' % (self.tmdb_key, self.tmdb_lang) self.certifications_link = 'http://api.themoviedb.org/3/certification/movie/list?api_key=%s' % self.tmdb_key self.search_link = 'http://api.themoviedb.org/3/search/movie?api_key=%s&query=%s' self.popular_link = 'http://api.themoviedb.org/3/movie/popular?api_key=%s&page=1' self.views_link = 'http://api.themoviedb.org/3/movie/top_rated?api_key=%s&page=1' self.featured_link = 'http://api.themoviedb.org/3/discover/movie?api_key=%s&primary_release_date.gte=date[365]&primary_release_date.lte=date[60]&page=1' self.person_link = 'http://api.themoviedb.org/3/discover/movie?api_key=%s&with_people=%s&primary_release_date.lte=date[0]&sort_by=primary_release_date.desc&page=1' self.genre_link = 'http://api.themoviedb.org/3/discover/movie?api_key=%s&with_genres=%s&primary_release_date.gte=date[365]&primary_release_date.lte=date[0]&page=1' self.certification_link = 'http://api.themoviedb.org/3/discover/movie?api_key=%s&certification=%s&certification_country=US&primary_release_date.lte=date[0]&page=1' self.year_link = 'http://api.themoviedb.org/3/discover/movie?api_key=%s&year=%s&primary_release_date.lte=date[0]&page=1' self.theaters_link = 'http://api.themoviedb.org/3/movie/now_playing?api_key=%s&page=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&sort=boxoffice_gross_us,desc&count=40&start=1' self.oscars_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&groups=oscar_best_picture_winners&sort=year,desc&count=40&start=1' self.trending_link = 'http://api-v2launch.trakt.tv/movies/trending?limit=40&page=1' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/%s/lists' % self.trakt_user self.traktlikedlists_link = 'http://api-v2launch.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api-v2launch.trakt.tv/users/%s/collection/movies' % self.trakt_user self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/%s/watchlist/movies' % self.trakt_user self.traktfeatured_link = 'http://api-v2launch.trakt.tv/recommendations/movies?limit=40' self.trakthistory_link = 'http://api-v2launch.trakt.tv/users/%s/history/movies?limit=40&page=1' % self.trakt_user self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=modified:desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=title:asc&title_type=feature,short,tv_movie,tv_special,video,documentary,game&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist' % self.imdb_user
def __init__(self, type = tools.Media.TypeShow, kids = tools.Selection.TypeUndefined): self.type = type self.kids = kids self.certificates = None self.restriction = 0 if self.kidsOnly(): self.certificates = [] self.restriction = tools.Settings.getInteger('general.kids.restriction') if self.restriction >= 0: self.certificates.append('TV-Y') if self.restriction >= 1: self.certificates.append('TV-Y7') if self.restriction >= 2: self.certificates.append('TV-PG') if self.restriction >= 3: self.certificates.append('TV-14') self.certificates = ','.join(self.certificates).replace('-', '_').lower() self.certificates = '&certificates=us:' + self.certificates else: self.certificates = '' self.list = [] self.lang = control.apiLanguage()['tvdb'] self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.today_date = (self.datetime).strftime('%Y-%m-%d') self.tvdb_key = 'MDk1NUY1N0Q5QTlENEZEQw==' self.trakt_user = control.setting('accounts.informants.trakt.user').strip() self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/me/watchlist/seasons' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/me/lists' self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/all/%s.zip' % (self.tvdb_key.decode('base64'), '%s', '%s') self.tvdb_by_imdb = 'http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'http://thetvdb.com/api/GetSeries.php?seriesname=%s' self.imdb_by_query = 'http://www.omdbapi.com/?t=%s&y=%s' self.tvdb_image = 'http://thetvdb.com/banners/' self.tvdb_poster = 'http://thetvdb.com/banners/_cache/'
def __init__(self): self.list = [] self.imdb_link = 'http://www.imdb.com' self.trakt_link = 'http://api-v2launch.trakt.tv' self.tvdb_key = base64.urlsafe_b64decode('MUQ2MkYyRjkwMDMwQzQ0NA==') self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.trakt_user = control.setting('trakt.user').strip() self.imdb_user = control.setting('imdb.user').replace('ur', '') self.lang = control.apiLanguage()['tvdb'] self.search_link = 'https://api-v2launch.trakt.tv/search?type=show&query=%s&limit=40' self.tvdb_info_link = 'http://thetvdb.com/api/%s/series/%s/%s.xml' % (self.tvdb_key, '%s', self.lang) self.tvdb_by_imdb = 'http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=%s' self.tvdb_by_query = 'http://thetvdb.com/api/GetSeries.php?seriesname=%s' self.imdb_by_query = 'http://www.omdbapi.com/?t=%s&y=%s' self.tvdb_image = 'http://thetvdb.com/banners/' self.persons_link = 'http://www.imdb.com/search/name?count=100&name=%s' self.popular_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&languages=en&num_votes=100,&release_date=,date[0]&sort=moviemeter,asc&count=40&start=1' self.airing_link = 'http://www.imdb.com/search/title?title_type=tv_episode&release_date=date[1],date[0]&sort=moviemeter,asc&count=40&start=1' self.active_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=10,&production_status=active&sort=moviemeter,asc&count=40&start=1' self.premiere_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&languages=en&num_votes=10,&release_date=date[60],date[0]&sort=moviemeter,asc&count=40&start=1' self.rating_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=5000,&release_date=,date[0]&sort=user_rating,desc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&num_votes=100,&release_date=,date[0]&sort=num_votes,desc&count=40&start=1' self.person_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&role=%s&sort=year,desc&count=40&start=1' self.network_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&company=%s&sort=moviemeter,asc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=tv_series,mini_series&release_date=,date[0]&certificates=us:%s&sort=moviemeter,asc&count=40&start=1' self.trending_link = 'http://api-v2launch.trakt.tv/shows/trending?limit=40&page=1' self.traktlists_link = 'http://api-v2launch.trakt.tv/users/me/lists' self.traktlikedlists_link = 'http://api-v2launch.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api-v2launch.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api-v2launch.trakt.tv/users/me/collection/shows' self.traktwatchlist_link = 'http://api-v2launch.trakt.tv/users/me/watchlist/shows' self.traktfeatured_link = 'http://api-v2launch.trakt.tv/recommendations/shows?limit=40' self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=modified:desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=title:asc&title_type=tv_series,mini_series&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist' % self.imdb_user
def __init__(self): self.list = [] self.imdb_link = 'http://www.imdb.com' self.trakt_link = 'http://api.trakt.tv' self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.systime = (self.datetime).strftime('%Y%m%d%H%M%S%f') self.year_date = (self.datetime - datetime.timedelta(days = 365)).strftime('%Y-%m-%d') self.today_date = (self.datetime).strftime('%Y-%m-%d') self.trakt_user = control.setting('trakt.user').strip() self.imdb_user = control.setting('imdb.user').replace('ur', '') self.tm_user = control.setting('tm.user') self.fanart_tv_user = control.setting('fanart.tv.user') self.user = str(control.setting('fanart.tv.user')) + str(control.setting('tm.user')) self.lang = control.apiLanguage()['trakt'] self.hidecinema = control.setting('hidecinema') self.search_link = 'http://api.trakt.tv/search/movie?limit=20&page=1&query=' self.fanart_tv_art_link = 'http://webservice.fanart.tv/v3/movies/%s' self.fanart_tv_level_link = 'http://webservice.fanart.tv/v3/level' self.tm_art_link = 'http://api.themoviedb.org/3/movie/%s/images?api_key=%s&language=en-US&include_image_language=en,%s,null' % ('%s', self.tm_user, self.lang) self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.persons_link = 'http://www.imdb.com/search/name?count=100&name=' self.personlist_link = 'http://www.imdb.com/search/name?count=100&gender=male,female' self.person_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&role=%s&sort=year,desc&count=40&start=1' self.keyword_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[0]&keywords=%s&sort=moviemeter,asc&count=40&start=1' self.oscars_link = 'http://www.imdb.com/search/title?title_type=feature&release_date=1975-01-01,2017-12-31&groups=top_1000&sort=release_date,desc&count=40&start=1' self.theaters_link = 'https://www.imdb.com/search/title?title_type=feature&num_votes=1000,&release_date=date[365],date[0]&sort=release_date_us,asc&count=40&start=1' self.year_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&year=%s,%s&sort=moviemeter,asc&count=40&start=1' if self.hidecinema == 'true': self.popular_link = 'http://www.imdb.com/search/title?title_type=feature&release_date=1950-01-01,2018-01-07&genres=comedy&plot=Stoner&sort=moviemeter,asc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&sort=num_votes,desc&release_date=,date[90]&count=40&start=1' self.featured_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&release_date=date[365],date[90]&sort=moviemeter,asc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[90]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&primary_language=%s&sort=moviemeter,asc&release_date=,date[90]&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&certificates=us:%s&sort=moviemeter,asc&release_date=,date[90]&count=40&start=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature&release_date=1950-01-01,2018-01-07&genres=animation,family&certificates=US%3Ag,US%3Apg&sort=release_date,desc&count=40&start=1' else: self.popular_link = 'http://www.imdb.com/search/title?title_type=feature&release_date=1950-01-01,2018-01-07&genres=comedy&plot=Stoner&sort=moviemeter,asc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&sort=num_votes,desc&count=40&start=1' self.featured_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&release_date=date[365],date[90]&sort=moviemeter,asc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[0]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&primary_language=%s&sort=moviemeter,asc&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&certificates=us:%s&sort=moviemeter,asc&count=40&start=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature&release_date=1950-01-01,2018-12-31&genres=animation,family&certificates=US%3Ag,US%3Apg&sort=release_date,desc&count=40&start=1' self.added_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=500,&production_status=released&release_date=%s,%s&sort=release_date,desc&count=20&start=1' % (self.year_date, self.today_date) self.trending_link = 'http://api.trakt.tv/movies/trending?limit=40&page=1' self.traktlists_link = 'http://api.trakt.tv/users/me/lists' self.traktlikedlists_link = 'http://api.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api.trakt.tv/users/me/collection/movies' self.traktwatchlist_link = 'http://api.trakt.tv/users/me/watchlist/movies' self.traktfeatured_link = 'http://api.trakt.tv/recommendations/movies?limit=40' self.trakthistory_link = 'http://api.trakt.tv/users/me/history/movies?limit=40&page=1' self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=mdfd&order=desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=alpha,asc&title_type=movie,tvMovie&start=1' self.imdblist2_link = 'http://www.imdb.com/list/%s/?view=detail&sort=date_added,desc&title_type=movie,tvMovie&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=alpha,asc' % self.imdb_user self.imdbwatchlist2_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=date_added,desc' % self.imdb_user
def __init__(self): self.list = [] self.imdb_link = 'http://www.imdb.com' self.trakt_link = 'http://api.trakt.tv' self.datetime = (datetime.datetime.utcnow() - datetime.timedelta(hours = 5)) self.systime = (self.datetime).strftime('%Y%m%d%H%M%S%f') self.year_date = (self.datetime - datetime.timedelta(days = 365)).strftime('%Y-%m-%d') self.today_date = (self.datetime).strftime('%Y-%m-%d') self.trakt_user = control.setting('trakt.user').strip() self.imdb_user = control.setting('imdb.user').replace('ur', '') self.tm_user = control.setting('tm.user') self.fanart_tv_user = control.setting('fanart.tv.user') self.user = str(control.setting('fanart.tv.user')) + str(control.setting('tm.user')) self.lang = control.apiLanguage()['trakt'] self.hidecinema = control.setting('hidecinema') self.search_link = 'http://api.trakt.tv/search/movie?limit=20&page=1&query=' self.fanart_tv_art_link = 'http://webservice.fanart.tv/v3/movies/%s' self.fanart_tv_level_link = 'http://webservice.fanart.tv/v3/level' self.tm_art_link = 'http://api.themoviedb.org/3/movie/%s/images?api_key=%s&language=en-US&include_image_language=en,%s,null' % ('%s', self.tm_user, self.lang) self.tm_img_link = 'https://image.tmdb.org/t/p/w%s%s' self.persons_link = 'http://www.imdb.com/search/name?count=100&name=' self.personlist_link = 'http://www.imdb.com/search/name?count=100&gender=male,female' self.person_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&role=%s&sort=year,desc&count=40&start=1' self.keyword_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[0]&keywords=%s&sort=moviemeter,asc&count=40&start=1' self.oscars_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&groups=oscar_best_picture_winners&sort=year,desc&count=40&start=1' self.theaters_link = 'http://www.imdb.com/search/title?title_type=feature&num_votes=1000,&release_date=date[365],date[0]&sort=release_date_us,desc&count=40&start=1' self.year_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&year=%s,%s&sort=moviemeter,asc&count=40&start=1' if self.hidecinema == 'true': self.popular_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&groups=top_1000&release_date=,date[90]&sort=moviemeter,asc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&sort=num_votes,desc&release_date=,date[90]&count=40&start=1' self.featured_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&release_date=date[365],date[90]&sort=moviemeter,asc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[90]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&primary_language=%s&sort=moviemeter,asc&release_date=,date[90]&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&certificates=us:%s&sort=moviemeter,asc&release_date=,date[90]&count=40&start=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&sort=boxoffice_gross_us,desc&release_date=,date[90]&count=40&start=1' else: self.popular_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&groups=top_1000&sort=moviemeter,asc&count=40&start=1' self.views_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&sort=num_votes,desc&count=40&start=1' self.featured_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=1000,&production_status=released&release_date=date[365],date[60]&sort=moviemeter,asc&count=40&start=1' self.genre_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie,documentary&num_votes=100,&release_date=,date[0]&genres=%s&sort=moviemeter,asc&count=40&start=1' self.language_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&primary_language=%s&sort=moviemeter,asc&count=40&start=1' self.certification_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&num_votes=100,&production_status=released&certificates=us:%s&sort=moviemeter,asc&count=40&start=1' self.boxoffice_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&production_status=released&sort=boxoffice_gross_us,desc&count=40&start=1' self.top2_link = 'https://www.imdb.com/search/title?groups=top_250' self.top3_link = 'https://www.imdb.com/search/title?title_type=feature&groups=top_100' self.top4_link = 'https://www.imdb.com/search/title?title_type=feature&groups=top_1000' self.bestd_link = 'https://www.imdb.com/search/title?title_type=feature&groups=best_director_winner&sort=user_rating,desc' self.nfb_link = 'https://www.imdb.com/search/title?title_type=feature&groups=national_film_preservation_board_winner&sort=user_rating,desc' self.para_link = 'https://www.imdb.com/search/title?title_type=feature&companies=paramount' self.mgm_link = 'https://www.imdb.com/search/title?title_type=feature&companies=mgm' self.warb_link = 'https://www.imdb.com/search/title?title_type=feature&companies=warner' self.disney1_link = 'https://www.imdb.com/search/title?user_rating=1.0,10.0&companies=disney' self.dream_link = 'https://www.imdb.com/search/title?title_type=feature&companies=dreamworks' self.fox_link = 'https://www.imdb.com/search/title?title_type=feature&companies=fox' self.sony_link = 'https://www.imdb.com/search/title?title_type=feature&companies=sony' self.uni_link = 'https://www.imdb.com/search/title?title_type=feature&companies=universal' self.primev_link = 'https://www.imdb.com/search/title?title_type=feature&online_availability=US%2Ftoday%2FAmazon%2Fsubs' self.classmov_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=1900-01-01,1993-12-31' self.classsci_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=1900-01-01,1993-12-31&genres=sci_fi' self.classani_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=1900-01-01,1993-12-31&genres=animation' self.classwar_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=1900-01-01,1993-12-31&genres=war' self.classwest_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=1900-01-01,1993-12-31&genres=western' self.eighties_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=1980-01-01,1989-12-31' self.nineties_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=1990-01-01,1999-12-31' self.noughties_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=2000-01-01,2010-12-31' self.twentyten_link = 'https://www.imdb.com/search/title?title_type=feature&release_date=2010-01-01,2019-12-31' self.added_link = 'http://www.imdb.com/search/title?title_type=feature,tv_movie&languages=en&num_votes=500,&production_status=released&release_date=%s,%s&sort=release_date,desc&count=20&start=1' % (self.year_date, self.today_date) self.trending_link = 'http://api.trakt.tv/movies/trending?limit=40&page=1' self.traktlists_link = 'http://api.trakt.tv/users/me/lists' self.traktlikedlists_link = 'http://api.trakt.tv/users/likes/lists?limit=1000000' self.traktlist_link = 'http://api.trakt.tv/users/%s/lists/%s/items' self.traktcollection_link = 'http://api.trakt.tv/users/me/collection/movies' self.traktwatchlist_link = 'http://api.trakt.tv/users/me/watchlist/movies' self.traktfeatured_link = 'http://api.trakt.tv/recommendations/movies?limit=40' self.trakthistory_link = 'http://api.trakt.tv/users/me/history/movies?limit=40&page=1' self.imdblists_link = 'http://www.imdb.com/user/ur%s/lists?tab=all&sort=mdfd&order=desc&filter=titles' % self.imdb_user self.imdblist_link = 'http://www.imdb.com/list/%s/?view=detail&sort=alpha,asc&title_type=movie,short,tvMovie,tvSpecial,video&start=1' self.imdblist2_link = 'http://www.imdb.com/list/%s/?view=detail&sort=date_added,desc&title_type=movie,short,tvMovie,tvSpecial,video&start=1' self.imdbwatchlist_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=alpha,asc' % self.imdb_user self.imdbwatchlist2_link = 'http://www.imdb.com/user/ur%s/watchlist?sort=date_added,desc' % self.imdb_user