def userlists(self): episodes = episodesx.Episodes(type = self.type) userlists = [] try: if self.traktCredentials is False: raise Exception() activity = trakt.getActivity() except: pass try: if self.traktCredentials is False: raise Exception() self.list = [] try: if activity > cache.timeout(episodes.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception() userlists += cache.get(episodes.trakt_user_list, 3, self.traktlists_link, self.trakt_user) except: userlists += cache.get(episodes.trakt_user_list, 0, self.traktlists_link, self.trakt_user) except: pass try: if self.traktCredentials is False: raise Exception() self.list = [] try: if activity > cache.timeout(episodes.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception() userlists += cache.get(episodes.trakt_user_list, 3, self.traktlikedlists_link, self.trakt_user) except: userlists += cache.get(episodes.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user) except: pass self.list = [] # Filter the user's own lists that were for i in range(len(userlists)): contains = False adapted = userlists[i]['url'].replace('/me/', '/%s/' % self.trakt_user) for j in range(len(self.list)): if adapted == self.list[j]['url'].replace('/me/', '/%s/' % self.trakt_user): contains = True break if not contains: self.list.append(userlists[i]) for i in range(0, len(self.list)): self.list[i].update({'image': 'traktlists.png', 'action': 'seasonsList'}) # Watchlist if self.traktCredentials is True: self.list.insert(0, {'name': control.lang(32033).encode('utf-8'), 'url': self.traktwatchlist_link, 'image': 'traktwatch.png', 'action': 'seasons'}) episodes.addDirectory(self.list, queue = True) return self.list
def userlists(self): try: userlists = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() activity = trakt.getActivity() except: log_utils.log(sys.exc_info()) pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception() try: if activity > cache.timeout(self.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlists_link, self.trakt_user) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlists_link, self.trakt_user) except: log_utils.log(sys.exc_info()) pass try: self.list = [] if not self.imdb_user: raise Exception('No imdb user set.') userlists += cache.get(self.imdblists.get_user_lists, IMDB_USER_LIST_CACHE_TIMEOUT) except: log_utils.log(sys.exc_info()) pass try: self.list = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() try: if activity > cache.timeout(self.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlikedlists_link, self.trakt_user) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user) except: log_utils.log(sys.exc_info()) pass self.list = userlists for i in range(0, len(self.list)): self.list[i].update({'image': 'userlists.png', 'action': 'movies'}) self.addDirectory(self.list, queue=True) return self.list
def userlists(self): try: userlists = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() activity = trakt.getActivity() except: pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception() try: if activity > cache.timeout(self.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlists_link, self.trakt_user) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlists_link, self.trakt_user) except: pass try: self.list = [] if self.imdb_user == '': raise Exception() userlists += cache.get(self.imdb_user_list, 0, self.imdblists_link) except: pass try: self.list = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() try: if activity > cache.timeout(self.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlikedlists_link, self.trakt_user) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user) except: pass self.list = userlists for i in range(0, len(self.list)): self.list[i].update({ 'image': 'userlists.png', 'action': 'tvshows' }) self.addDirectory(self.list) return self.list
def userlists(self): episodes = episodesx.episodes(type = self.type, kids = self.kids) userlists = [] try: if trakt.getTraktCredentialsInfo() == False: raise Exception() activity = trakt.getActivity() except: pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception() self.list = [] try: if activity > cache.timeout(episodes.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception() userlists += cache.get(episodes.trakt_user_list, 3, self.traktlists_link, self.trakt_user) except: userlists += cache.get(episodes.trakt_user_list, 0, self.traktlists_link, self.trakt_user) except: pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception() self.list = [] try: if activity > cache.timeout(episodes.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception() userlists += cache.get(episodes.trakt_user_list, 3, self.traktlikedlists_link, self.trakt_user) except: userlists += cache.get(episodes.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user) except: pass self.list = [] # Filter the user's own lists that were for i in range(len(userlists)): contains = False adapted = userlists[i]['url'].replace('/me/', '/%s/' % self.trakt_user) for j in range(len(self.list)): if adapted == self.list[j]['url'].replace('/me/', '/%s/' % self.trakt_user): contains = True break if not contains: self.list.append(userlists[i]) for i in range(0, len(self.list)): self.list[i].update({'image': 'traktlists.png', 'action': self.parameterize('seasonList')}) # Watchlist if trakt.getTraktCredentialsInfo(): self.list.insert(0, {'name' : interface.Translation.string(32033), 'url' : self.traktwatchlist_link, 'context' : self.traktwatchlist_link, 'image': 'traktwatch.png', 'action': self.parameterize('seasons')}) episodes.addDirectory(self.list, queue = True) return self.list
def userlists(self): try: userlists = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() activity = trakt.getActivity() except: pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception("Trakt user not set") try: if activity > cache.timeout(self.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlists_link, self.trakt_user) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlists_link, self.trakt_user) except Exception as e: log_utils.log('Trakt user list error: %s' % (e), log_utils.LOGWARNING) pass try: self.list = [] if not self.imdb_user: raise Exception('IMDB user not set') userlists += cache.get(imdb_lists.IMDBLists('tvSeries', imdb_user=self.imdb_user).get_user_lists, 0, 'tvSeries') log_utils.log(user_lists) except Exception as e: log_utils.log('IMDB user list error: %s' % (e), log_utils.LOGWARNING) pass try: self.list = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() try: if activity > cache.timeout(self.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlikedlists_link, self.trakt_user) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user) except: pass self.list = userlists for i in range(0, len(self.list)): self.list[i].update({'image': 'userlists.png', 'action': 'tvshows'}) self.addDirectory(self.list) return self.list
def get(self, url, idx=True): try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: if url == self.trakthistory_link: raise Exception() if not '/users/me/' in url: raise Exception() if trakt.getActivity() > cache.timeout( self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and not '/watchlist/' in url: self.list = sorted( self.list, key=lambda k: re.sub('(^the |^a )', '', k['title']. lower())) if idx == True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx == True: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): self.list = cache.get(self.imdb_list, 0, url) if idx == True: self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 24, url) if idx == True: self.worker() if idx == True: self.movieDirectory(self.list) return self.list except: pass
def get(self, url, idx=True, create_directory=True): try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: if url == self.trakthistory_link: raise Exception() if '/users/me/' not in url: raise Exception() if trakt.getActivity() > cache.timeout(self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and '/collection/' in url: self.list = sorted(self.list, key=lambda k: utils.title_key(k['title'])) if idx is True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 1, url, self.trakt_user) if idx is True: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx is True: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): self.list = cache.get(self.imdb_list, 0, url) if idx is True: self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 24, url) if idx is True: self.worker() if idx is True and create_directory is True: self.movieDirectory(self.list) return self.list except: pass
def userlists(self): try: userlists = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() activity = trakt.getActivity() except: pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception() try: if activity > cache.timeout(self.trakt_user_list, self.traktlists_link): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlists_link) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlists_link) except: pass try: self.list = [] if self.imdb_user == '': raise Exception() userlists += cache.get(self.imdb_user_list, 0, self.imdblists_link) except: pass try: self.list = [] if trakt.getTraktCredentialsInfo() == False: raise Exception() try: if activity > cache.timeout(self.trakt_user_list, self.traktlikedlists_link): raise Exception() userlists += cache.get(self.trakt_user_list, 720, self.traktlikedlists_link) except: userlists += cache.get(self.trakt_user_list, 0, self.traktlikedlists_link) except: pass self.list = userlists for i in range(0, len(self.list)): self.list[i].update({'image': 'userlists.png', 'action': 'movies'}) self.addDirectory(self.list, queue=True) return self.list
def get(self, url, idx=True, create_directory=True): try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: if not '/users/me/' in url: raise Exception() if trakt.getActivity() > cache.timeout(self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and not '/watchlist/' in url: self.list = sorted(self.list, key=lambda k: re.sub('(^the |^a )', '', k['title'].lower())) if idx == True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 1, url, self.trakt_user) if idx == True: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx == True: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): self.list = cache.get(self.imdb_list, 0, url) if idx == True: self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 24, url) if idx == True: self.worker() elif u in self.tvmaze_link: self.list = cache.get(self.tvmaze_list, 168, url) if idx == True: self.worker() if idx == True and create_directory == True: self.tvshowDirectory(self.list) return self.list except: pass
def get(self, url, idx=True, create_directory=True): try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: if url == self.trakthistory_link: raise Exception() if not '/users/me/' in url: raise Exception() if trakt.getActivity() > cache.timeout(self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and '/collection/' in url: self.list = sorted(self.list, key=lambda k: utils.title_key(k['title'])) if idx == True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 1, url, self.trakt_user) if idx == True: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx == True: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): self.list = cache.get(self.imdb_list, 0, url) if idx == True: self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 24, url) if idx == True: self.worker() if self.list == None or len(self.list) == 0: control.idle() control.infoDialog(control.lang(32709).encode('utf-8'), time=8000) elif idx == True and create_directory == True: self.movieDirectory(self.list) return self.list except: pass
def get(self, url, idx=True, create_directory=True): # xbmc.log('[script.renegadestv] Database is locked, retrying...', xbmc.LOGDEBUG) try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass xbmc.log('[plugin.video.libra]::movies.movies().get(url)::' + url, xbmc.LOGNOTICE) xbmc.log('[plugin.video.libra]::movies.movies().get(url)::' + u, xbmc.LOGNOTICE) if u in self.trakt_link and '/users/' in url: try: if url == self.trakthistory_link: raise Exception() if not '/users/me/' in url: raise Exception() if trakt.getActivity() > cache.timeout(self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and not '/watchlist/' in url: self.list = sorted(self.list, key=lambda k: re.sub('(^the |^a )', '', k['title'].lower())) if idx == True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 1, url, self.trakt_user) if idx == True: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx == True: self.worker() ; self.list = [i for i in self.list if not i['poster'] == '0'] elif u in self.imdb_link and ('/user/' in url or '/list/' in url): self.list = cache.get(self.imdb_list, 0, url) if idx == True: self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 24, url) if idx == True: self.worker() ; self.list = [i for i in self.list if not i['poster'] == '0'] if idx == True and create_directory == True: self.movieDirectory(self.list) return self.list except: pass
def get(self, url, idx=True): try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass if u in self.tmdb_link: self.list = cache.get(self.tmdb_list, 24, url) self.worker() elif u in self.trakt_link and '/users/' in url: try: if not '/%s/' % self.trakt_user in url: raise Exception() if trakt.getActivity() > cache.timeout(self.trakt_list, url): raise Exception() self.list = cache.get(self.trakt_list, 720, url) except: self.list = cache.get(self.trakt_list, 0, url) if '/%s/' % self.trakt_user in url: self.list = sorted(self.list, key=lambda k: re.sub('(^the |^a )', '', k['title'].lower())) if idx == True: self.worker() elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url) if idx == True: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): self.list = cache.get(self.imdb_list, 0, url) self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 24, url) self.worker() if idx == True: self.tvshowDirectory(self.list) return self.list except: pass
def get(self, url, idx=True, create_directory=True): try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass log_utils.log(u) if u in self.trakt_link and '/users/' in url: try: if not '/users/me/' in url: raise Exception() if trakt.getActivity() > cache.timeout(self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and '/collection/' in url: self.list = sorted(self.list, key=lambda k: utils.title_key(k['title'])) if idx == True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 1, url, self.trakt_user) if idx == True: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx == True: self.worker() elif u in self.imdb_link: log_utils.log(url) self.list = cache.get(imdb_lists.IMDBLists('tvSeries').get_imdb_url_contents, 0, url, 'tvSeries') log_utils.log(self.list) if idx == True: self.worker() elif u in self.tvmaze_link: self.list = cache.get(self.tvmaze_list, 168, url) if idx == True: self.worker() if idx == True and create_directory == True: self.tvshowDirectory(self.list) return self.list except: pass
def get(self, url, idx=True, create_directory=True): try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: if url == self.trakthistory_link: raise Exception() if not '/users/me/' in url: raise Exception() if trakt.getActivity() > cache.timeout(self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and '/collection/' in url: self.list = sorted(self.list, key=lambda k: utils.title_key(k['title'])) if idx == True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 1, url, self.trakt_user) if idx == True: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx == True: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): self.list = cache.get(self.imdb_list, 0, url) if idx == True: self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 24, url) if idx == True: self.worker() if idx == True and create_directory == True: self.movieDirectory(self.list) return self.list except: pass
def timeoutsyncSeason(imdb): timeout = cache.timeout(syncSeason, imdb) return timeout
def timeoutsyncMovies(): timeout = cache.timeout(syncMovies) return timeout
def timeoutsyncTVShows(): timeout = cache.timeout(syncTVShows) return timeout
def timeoutsyncTVShows(): timeout = cache.timeout( syncTVShows, tools.Settings.getString('accounts.informants.trakt.user').strip()) return timeout
def timeoutsyncMovies(): timeout = cache.timeout(syncMovies, control.setting('trakt.user').strip(), table='trakt') return timeout
def timeoutsyncMovies(): timeout = cache.timeout(syncMovies, control.setting('trakt.user').strip()) return timeout
def timeoutsyncTVShows(): timeout = cache.timeout(syncTVShows, control.setting('trakt.user').strip(), table='trakt') return timeout
def timeoutsyncTVShows(): timeout = cache.timeout( syncTVShows, control.setting('accounts.informants.trakt.user').strip()) return timeout
def timeoutsyncMovies(): timeout = cache.timeout(syncMovies, control.setting('trakt.user').strip()) if timeout == None: return 0 return timeout
def get(self, url, idx=True, create_directory=True): # Save the current url self.url = url # Initialize the url params into a dictionary self.params = self.params_init(url) # New parsing logic for imdb if 'imdb' in url: if self.params.get('q') == 'imdbUserList': if 'listId' in self.params.keys(): list_id = self.params['listId'] self.list = cache.get( self.imdblists.get_user_list_contents, IMDB_USER_LIST_CACHE_TIMEOUT, list_id) else: self.list = cache.get(self.imdblists.get_user_lists, IMDB_USER_LIST_CACHE_TIMEOUT, 'movie') elif self.params.get('q') == 'imdbList': # Default to "featured" if listType isnt defined list_type = self.params['listType'] self.list = cache.get(self.imdblists.get_imdb_list_contents, IMDB_LIST_CACHE_TIMEOUT_LONG, list_type, self.hidecinema, 'movie') elif self.params.get('q') == 'imdb_params': imdb_url = self.imdblists.build_imdb_search_url(self.params) self.list = cache.get(self.imdblists.get_imdb_url_contents, IMDB_LIST_CACHE_TIMEOUT_LONG, imdb_url, 'movie') # Support for legacy imdb else: decoded_url = urllib.unquote(url).decode('utf8') self.list = cache.get(self.imdblists.get_imdb_url_contents, IMDB_LIST_CACHE_TIMEOUT_LONG, decoded_url) if idx == True: self.worker() if idx == True and create_directory == True: self.movieDirectory(self.list) return self.list # Old parsing logic -- only used for trakt now try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse.urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: if url == self.trakthistory_link: raise Exception() if not '/users/me/' in url: raise Exception() if trakt.getActivity() > cache.timeout( self.trakt_list, url, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 720, url, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if '/users/me/' in url and '/collection/' in url: self.list = sorted( self.list, key=lambda k: utils.title_key(k['title'])) if idx == True: self.worker() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 1, url, self.trakt_user) if idx == True: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx == True: self.worker() if idx == True and create_directory == True: self.movieDirectory(self.list) return self.list except: log_utils.log(sys.exc_info()) pass
def timeoutsyncMovies(): timeout = cache.timeout(syncMovies, control.setting("trakt.user").strip()) return timeout
def timeoutsyncTVShows(): timeout = cache.timeout(syncTVShows, control.setting('accounts.informants.trakt.user').strip()) return timeout
def timeoutsyncTVShows(): timeout = cache.timeout(syncTVShows, control.setting('trakt.user').strip()) return timeout
def userlists(self): episodes = episodesx.episodes(type=self.type, kids=self.kids) userlists = [] try: if trakt.getTraktCredentialsInfo() == False: raise Exception() activity = trakt.getActivity() except: pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception() self.list = [] try: if activity > cache.timeout(episodes.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception() userlists += cache.get(episodes.trakt_user_list, 3, self.traktlists_link, self.trakt_user) except: userlists += cache.get(episodes.trakt_user_list, 0, self.traktlists_link, self.trakt_user) except: pass try: if trakt.getTraktCredentialsInfo() == False: raise Exception() self.list = [] try: if activity > cache.timeout(episodes.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception() userlists += cache.get(episodes.trakt_user_list, 3, self.traktlikedlists_link, self.trakt_user) except: userlists += cache.get(episodes.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user) except: pass self.list = [] # Filter the user's own lists that were for i in range(len(userlists)): contains = False adapted = userlists[i]['url'].replace('/me/', '/%s/' % self.trakt_user) for j in range(len(self.list)): if adapted == self.list[j]['url'].replace( '/me/', '/%s/' % self.trakt_user): contains = True break if not contains: self.list.append(userlists[i]) for i in range(0, len(self.list)): self.list[i].update({ 'image': 'traktlists.png', 'action': self.parameterize('seasonList') }) # Watchlist if trakt.getTraktCredentialsInfo(): self.list.insert( 0, { 'name': interface.Translation.string(32033), 'url': self.traktwatchlist_link, 'context': self.traktwatchlist_link, 'image': 'traktwatch.png', 'action': self.parameterize('seasons') }) episodes.addDirectory(self.list, queue=True) return self.list