def userlists(self): userlists = [] try: if not self.traktCredentials: raise Exception() activity = trakt.getActivity() self.list = [] ; lists = [] try: if activity > cache.timeout(self.trakt_user_list, self.traktlists_link, self.trakt_user): raise Exception() lists += cache.get(self.trakt_user_list, 720, self.traktlists_link, self.trakt_user) except: lists += cache.get(self.trakt_user_list, 0, self.traktlists_link, self.trakt_user) for i in range(len(lists)): lists[i].update({'image': 'trakt.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'movies'}) userlists += lists except: pass try: if not self.traktCredentials: raise Exception() self.list = [] ; lists = [] try: if activity > cache.timeout(self.trakt_user_list, self.traktlikedlists_link, self.trakt_user): raise Exception() lists += cache.get(self.trakt_user_list, 3, self.traktlikedlists_link, self.trakt_user) except: lists += cache.get(self.trakt_user_list, 0, self.traktlikedlists_link, self.trakt_user) for i in range(len(lists)): lists[i].update({'image': 'trakt.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'movies'}) userlists += lists except: pass try: if not self.imdb_user: raise Exception() self.list = [] lists = cache.get(self.imdb_user_list, 0, self.imdblists_link) for i in range(len(lists)): lists[i].update({'image': 'imdb.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'movies'}) userlists += lists except: pass try: if self.tmdb_session_id == '': raise Exception() self.list = [] lists = cache.get(tmdb_indexer.userlists, 0, self.tmdb_userlists_link) for i in range(len(lists)): lists[i].update({'image': 'tmdb.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'tmdbmovies'}) userlists += lists except: pass self.list = [] for i in range(len(userlists)): # Filter the user's own lists that were 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]) if self.tmdb_session_id != '': # TMDb Favorites self.list.insert(0, {'name': control.lang(32026), 'url': self.tmdb_favorites_link, 'image': 'tmdb.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'tmdbmovies'}) if self.tmdb_session_id != '': # TMDb Watchlist self.list.insert(0, {'name': control.lang(32033), 'url': self.tmdb_watchlist_link, 'image': 'tmdb.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'tmdbmovies'}) if self.imdb_user != '': # imdb Watchlist self.list.insert(0, {'name': control.lang(32033), 'url': self.imdbwatchlist_link, 'image': 'imdb.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'movies'}) if self.imdb_user != '': # imdb My Ratings self.list.insert(0, {'name': control.lang(32025), 'url': self.imdbratings_link, 'image': 'imdb.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'movies'}) if self.traktCredentials: # Trakt Watchlist self.list.insert(0, {'name': control.lang(32033), 'url': self.traktwatchlist_link, 'image': 'trakt.png', 'icon': 'DefaultVideoPlaylists.png', 'action': 'movies'}) self.addDirectory(self.list, queue=True) return self.list
def traktHiddenManager(self, idx=True): control.busy() try: if trakt.getActivity() > cache.timeout(self.trakt_list, self.progress_link, self.trakt_user): raise Exception() self.list = cache.get(self.trakt_list, 24, self.progress_link, self.trakt_user) except: self.list = cache.get(self.trakt_list, 0, self.progress_link, self.trakt_user) try: hidden = cache.get(trakt.getTrakt, 0, self.hiddenprogress_link) # if this gets cached and user hides an item it's not instantly removed. hidden = jsloads(hidden) hidden = [str(i['show']['ids']['tvdb']) for i in hidden] for i in self.list: i.update({'isHidden': 'true'}) if i['tvdb'] in hidden else i.update({'isHidden': ''}) if idx: self.worker() self.list = sorted(self.list, key=lambda k: re.sub(r'(^the |^a |^an )', '', k['tvshowtitle'].lower()), reverse=False) self.list = sorted(self.list, key=lambda k: k['isHidden'], reverse=True) control.hide() from resources.lib.windows.trakthidden_manager import TraktHiddenManagerXML window = TraktHiddenManagerXML('trakthidden_manager.xml', control.addonPath(control.addonId()), results=self.list) chosen_hide, chosen_unhide = window.run() del window if chosen_unhide: success = trakt.unHideItems(chosen_unhide) if success: control.notification(title='Trakt Hidden Progress Manager', message='Successfully Unhid %s Item%s' % (len(chosen_unhide), 's' if len(chosen_unhide) >1 else '')) if chosen_hide: success = trakt.hideItems(chosen_hide) if success: control.notification(title='Trakt Hidden Progress Manager', message='Successfully Hid %s Item%s' % (len(chosen_hide), 's' if len(chosen_hide) >1 else '')) except: from resources.lib.modules import log_utils log_utils.error()
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 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 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, 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): 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 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 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, create_directory=True): self.list = [] try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: isTraktHistory = (url.split('&page=')[0] in self.trakthistory_link) 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) if isTraktHistory: for i in range(len(self.list)): self.list[i]['traktHistory'] = True except: self.list = cache.get(self.trakt_list, 0, url, self.trakt_user) if isTraktHistory: for i in range(len(self.list)): self.list[i]['traktHistory'] = True if idx: self.worker() if url == self.traktwatchlist_link: self.sort(type='movies.watchlist') else: if not isTraktHistory: self.sort() elif u in self.trakt_link and self.search_link in url: self.list = cache.get(self.trakt_list, 6, url, self.trakt_user) if idx: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): isRatinglink = True if self.imdbratings_link in url else False self.list = cache.get(self.imdb_list, 0, url, isRatinglink) if idx: self.worker() elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 96, url) if idx: self.worker() if self.list is None: self.list = [] if idx and create_directory: self.movieDirectory(self.list) return self.list except: log_utils.error() if not self.list: control.hide() if self.notifications: control.notification(title=32001, message=33049)
def get(self, url, idx=True, create_directory=True): self.list = [] try: try: url = getattr(self, url + '_link') except: pass try: u = urlparse(url).netloc.lower() except: pass if u in self.trakt_link and '/users/' in url: try: 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 idx: self.worker() if url == self.traktwatchlist_link: self.sort(type='shows.watchlist') else: self.sort() 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: self.worker(level=0) elif u in self.trakt_link: self.list = cache.get(self.trakt_list, 24, url, self.trakt_user) if idx: self.worker() elif u in self.imdb_link and ('/user/' in url or '/list/' in url): isRatinglink=True if self.imdbratings_link in url else False self.list = cache.get(self.imdb_list, 0, url, isRatinglink) if idx: self.worker() # self.sort() # switched to request sorting for imdb elif u in self.imdb_link: self.list = cache.get(self.imdb_list, 96, url) if idx: self.worker() if self.list is None: self.list = [] if create_directory: self.tvshowDirectory(self.list) return self.list except: from resources.lib.modules import log_utils log_utils.error() if not self.list: control.hide() if self.notifications: control.notification(title=32002, message=33049)
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 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 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