def req_path(*paths): from resources import connect auth_url = generic_utility.auth_url() endpoints = generic_utility.endpoints() if not auth_url or not endpoints: connect.do_login() post = '{"paths":[' for curpath in paths: post += curpath+',' post = post[:-1] post += '],"authURL":"%s"}' % auth_url post = json.loads(post) content = connect.load_netflix_site(generic_utility.evaluator_url % (generic_utility.api_url, endpoints['/pathEvaluator']), post) jsn = json.loads(content) if 'error' in jsn: err = jsn['error'] if 'innerErrors' in err: inners = err['innerErrors'] for inner_err in inners: if 'message' in inner_err: msg = inner_err['message'] if 'Map cache miss' == msg: raise CacheMissException(content) raise Exception('Invalid path response: ' + content) if 'value' not in jsn: raise Exception('Invalid path response: ' + content) return jsn['value']
def req_json_path(*paths): from resources import connect auth_url = generic_utility.auth_url() api_url = generic_utility.api_url() if not auth_url or not api_url: connect.do_login() post = '{"paths":[' for curpath in paths: post += curpath + ',' post = post[:-1] post += '],"authURL":"%s"}' % auth_url content = connect.load_netflix_site( generic_utility.evaluator_url % (api_url), post, headers={"Content-Type": "application/json"}) jsn = json.loads(content) if 'error' in jsn: err = jsn['error'] if 'innerErrors' in err: inners = err['innerErrors'] for inner_err in inners: if 'message' in inner_err: msg = inner_err['message'] if 'Map cache miss' == msg: raise CacheMissException(content) raise Exception('Invalid path response: ' + content) if 'value' not in jsn: raise Exception('Invalid path response: ' + content) return jsn['value']
def req_path(*paths): from resources import connect auth_url = generic_utility.auth_url() api_url = generic_utility.api_url() if not auth_url or not api_url: connect.do_login() post = '{"paths":[' for curpath in paths: post += curpath + ',' post = post[:-1] post += '],"authURL":"%s"}' % auth_url content = connect.load_netflix_site( '%s/pathEvaluator?materialize=true&model=harris' % api_url, post) jsn = json.loads(content) if 'error' in jsn: err = jsn['error'] if 'innerErrors' in err: inners = err['innerErrors'] for inner_err in inners: if 'message' in inner_err: msg = inner_err['message'] if 'Map cache miss' == msg: raise CacheMissException(content) raise Exception('Invalid path response: ' + content) if 'value' not in jsn: raise Exception('Invalid path response: ' + content) return jsn['value']
def handle_request(): # generic_utility.log('mode: '+mode) if mode == 'main': general.main(video_type) elif mode == 'list_videos': list.videos(url, video_type, page, run_as_widget) elif mode == 'list_seasons': list.seasons(name, url, thumb) elif mode == 'list_episodes': list.episodes(series_id, url) elif mode == 'list_genres': list.genres(video_type) elif mode == 'list_viewing_activity': list.viewing_activity(video_type, run_as_widget) elif mode == 'add_to_queue': queue.add(url) elif mode == 'remove_from_queue': queue.remove(url) elif mode == 'add_movie_to_library': library.add_movie(url, name) elif mode == 'remove_movie_from_library': library.remove_movie(name) elif mode == 'add_series_to_library': library.add_series(series_id, name, url) elif mode == 'remove_series_from_library': library.remove_series(name) elif mode == 'play_trailer': play.trailer(url, video_type) elif mode == 'choose_profile': connect.choose_profile() elif mode == 'search': search.netflix(video_type) elif mode == 'delete_cookies': delete.cookies() elif mode == 'delete_cache': delete.cache() elif mode == 'reset_addon': delete.addon() elif mode == 'play_video': # utility.log('play_video: '+url) play.video(url, series_id); elif mode == 'play_video_main': # utility.log('play_video_main: '+url) play.video(url, series_id); elif mode == 'relogin': connect.do_login() else: general.index()
def handle_request(): # generic_utility.log('mode: '+mode) if mode == 'main': general.main(video_type) elif mode == 'list_videos': list.videos(url, video_type, page, run_as_widget) elif mode == 'list_seasons': list.seasons(name, url, thumb) elif mode == 'list_episodes': list.episodes(series_id, url) elif mode == 'list_genres': list.genres(video_type) elif mode == 'list_viewing_activity': list.viewing_activity(video_type, run_as_widget) elif mode == 'add_to_queue': queue.add(url) elif mode == 'remove_from_queue': queue.remove(url) elif mode == 'add_movie_to_library': library.add_movie(url, name) elif mode == 'remove_movie_from_library': library.remove_movie(name) elif mode == 'add_series_to_library': library.add_series(series_id, name, url) elif mode == 'remove_series_from_library': library.remove_series(name) elif mode == 'play_trailer': play.trailer(url, video_type) elif mode == 'choose_profile': connect.choose_profile() elif mode == 'search': search.netflix(video_type) elif mode == 'delete_cookies': delete.cookies() elif mode == 'delete_cache': delete.cache() elif mode == 'reset_addon': delete.addon() elif mode == 'play_video': # utility.log('play_video: '+url) play.video(url, series_id) elif mode == 'play_video_main': # utility.log('play_video_main: '+url) play.video(url, series_id) elif mode == 'relogin': connect.do_login() else: general.index()
def main(video_type): add.directory(generic_utility.get_string(30105), '', 'list_viewing_activity', '', video_type) if video_type == 'show': add.directory(generic_utility.get_string(30107), 'genre?83', 'list_videos', '', video_type) add.directory(generic_utility.get_string(30108), '', 'list_genres', '', video_type) elif video_type == 'movie': add.directory(generic_utility.get_string(30108), '', 'list_genres', '', video_type) elif video_type == 'dynamic': add_dynamic_lists() if video_type != 'dynamic' and generic_utility.get_setting( 'is_kid') == 'false': try: root_list = lolomos.get_root_list() except AttributeError: if connect.do_login(): root_list = lolomos.get_root_list() else: raise Exception("Cannot login") mylist = lolomos.get_mylist(root_list) add.directory(child('displayName', mylist[1]), 'list?&mylist', 'list_videos', '', video_type) add.directory(generic_utility.get_string(30109), '', 'search', '', video_type) xbmcplugin.endOfDirectory(plugin_handle, cacheToDisc=False)
elif mode == 'search': search.netflix(video_type) elif mode == 'delete_cookies': delete.cookies() elif mode == 'delete_cache': delete.cache() elif mode == 'reset_addon': delete.addon() elif mode == 'play_video': # utility.log('play_video: '+url) play.video(url, series_id); elif mode == 'play_video_main': # utility.log('play_video_main: '+url) play.video(url, series_id); elif mode == 'relogin': connect.do_login() else: general.index() try: handle_request() except: generic_utility.log('parameters: ' + sys.argv[2]) generic_utility.log(traceback.format_exc(), xbmc.LOGERROR) dialog = xbmcgui.Dialog() do_fresh_login = dialog.yesno(generic_utility.get_string(50002), generic_utility.get_string(50003), generic_utility.get_string(50004)) if do_fresh_login: if connect.do_login()==True: generic_utility.notification('Login refreshed. please try again.')
elif mode == 'delete_cookies': delete.cookies() elif mode == 'delete_cache': delete.cache() elif mode == 'reset_addon': delete.addon() elif mode == 'play_video': # utility.log('play_video: '+url) play.video(url, series_id) elif mode == 'play_video_main': # utility.log('play_video_main: '+url) play.video(url, series_id) elif mode == 'relogin': connect.do_login() else: general.index() try: handle_request() except: generic_utility.log('parameters: ' + sys.argv[2]) generic_utility.log(traceback.format_exc(), xbmc.LOGERROR) dialog = xbmcgui.Dialog() do_fresh_login = dialog.yesno(generic_utility.get_string(50002), generic_utility.get_string(50003), generic_utility.get_string(50004)) if do_fresh_login: if connect.do_login() == True: generic_utility.notification(generic_utility.get_string(50006))
delete.cache() elif mode == 'reset_addon': delete.addon() elif mode == 'play_video': # utility.log('play_video: '+url) play.video(url, series_id); elif mode == 'play_video_main': # utility.log('play_video_main: '+url) play.video(url, series_id); elif mode == 'relogin': connect.do_login() elif mode == 'superbrowse': list.superbrowse() else: general.index() try: handle_request() except: generic_utility.log('parameters: ' + sys.argv[2]) generic_utility.log(traceback.format_exc(), xbmc.LOGERROR) if connect.do_login(): handle_request() else: dialog = xbmcgui.Dialog() do_fresh_login = dialog.yesno(generic_utility.get_string(50002), generic_utility.get_string(50003), generic_utility.get_string(50004)) if do_fresh_login: generic_utility.notification(generic_utility.get_string(50006))
# utility.log('play_video: '+url) play.video(url, series_id); elif mode == 'play_video_main': # utility.log('play_video_main: '+url) play.video(url, series_id); elif mode == 'relogin': connect.do_login() elif mode == 'superbrowse': list.superbrowse() else: general.index() try: handle_request() except Exception, e: generic_utility.log('parameters: ' + sys.argv[2]) generic_utility.log(traceback.format_exc(), xbmc.LOGERROR) if ("login" in str(e)): dialog = xbmcgui.Dialog() do_fresh_login = dialog.ok(generic_utility.get_string(50002), generic_utility.get_string(50007), generic_utility.get_string(50008)) else: if connect.do_login(): handle_request() else: dialog = xbmcgui.Dialog() do_fresh_login = dialog.yesno(generic_utility.get_string(50002), generic_utility.get_string(50003), generic_utility.get_string(50004)) if do_fresh_login: generic_utility.notification(generic_utility.get_string(50006))