def load(): if utility.get_setting("selected_profile"): connect.load_site(utility.profile_switch_url + utility.get_setting("selected_profile")) connect.save_session() else: utility.log("Load profile: no stored profile found!", loglevel=xbmc.LOGERROR) get_my_list_change_authorisation()
def choose(): profiles = [] content = utility.decode(connect.load_site(utility.profile_url)) match = json.loads(content)['profiles'] for item in match: profile = { 'name': item['firstName'], 'token': item['guid'], 'is_kid': item['experience'] == 'jfk' } profiles.append(profile) if len(match) > 0: dialog = xbmcgui.Dialog() nr = dialog.select(utility.get_string(30103), [profile['name'] for profile in profiles]) if nr >= 0: selected_profile = profiles[nr] else: selected_profile = profiles[0] connect.load_site(utility.profile_switch_url + selected_profile['token']) utility.set_setting('selected_profile', selected_profile['token']) utility.set_setting('is_kid', 'true' if selected_profile['is_kid'] else 'false') utility.set_setting('profile_name', selected_profile['name']) connect.save_session() else: utility.log('Choose profile: no profiles were found!', loglevel=xbmc.LOGERROR)
def choose(): profiles = [] content = utility.decode(connect.load_site(utility.profile_url)) match = re.compile( '"experience":"(.+?)".+?guid":"(.+?)".+?profileName":"(.+?)"', re.DOTALL).findall(content) for is_kid, token, name in match: profile = { 'name': utility.unescape(name), 'token': token, 'is_kid': is_kid == 'jfk' } profiles.append(profile) if len(match) > 0: dialog = xbmcgui.Dialog() nr = dialog.select(utility.get_string(30103), [profile['name'] for profile in profiles]) if nr >= 0: selected_profile = profiles[nr] else: selected_profile = profiles[0] connect.load_site(utility.profile_switch_url + selected_profile['token']) utility.set_setting('selected_profile', selected_profile['token']) utility.set_setting('is_kid', 'true' if selected_profile['is_kid'] else 'false') utility.set_setting('profile_name', selected_profile['name']) connect.save_session() get_my_list_change_authorisation() else: utility.log('Choose profile: no profiles were found!', loglevel=xbmc.LOGERROR)
def load(): if utility.get_setting('selected_profile'): connect.load_site(utility.profile_switch_url + utility.get_setting('selected_profile')) connect.save_session() else: utility.log('Load profile: no stored profile found!', loglevel=xbmc.LOGERROR)
def login(): login_progress = xbmcgui.DialogProgress() login_progress.create('Netflix', utility.get_string(30200) + '...') utility.progress_window(login_progress, 25, utility.get_string(30201)) connect.session.cookies.clear() content = utility.decode(connect.load_site(utility.main_url + 'Login')) if not 'Sorry, Netflix ' in content: match = re.compile('name="authURL" value="(.+?)"', re.DOTALL).findall(content) utility.log('Setting authorization url: ' + match[0]) utility.set_setting('authorization_url', match[0]) match = re.compile('locale: "(.+?)"', re.DOTALL).findall(content) utility.set_setting('language', match[0]) post_data = {'authURL': utility.get_setting('authorization_url'), 'email': utility.get_setting('username'), 'password': utility.get_setting('password'), 'RememberMe': 'on'} utility.progress_window(login_progress, 50, utility.get_string(30202)) content = utility.decode(connect.load_site(utility.main_url + 'Login?locale=' + utility.get_setting('language'), post=post_data)) if 'id="page-LOGIN"' in content: utility.notification(utility.get_string(30303)) return False match = re.compile('"apiUrl":"(.+?)",').findall(content) utility.set_setting('api_url', match[0]) post_data = utility.my_list % utility.get_setting('authorization_url') content = utility.decode(connect.load_site(utility.evaluator(), post=post_data)) matches = json.loads(content)['value'] match = matches['lolomos'].keys() utility.set_setting('root_list', match[0]) match = matches['lists'].keys() utility.set_setting('my_list', match[1]) match = matches['lists'][utility.get_setting('my_list')]['trackIds']['trackId'] utility.set_setting('track_id', unicode(match)) connect.save_session() utility.progress_window(login_progress, 75, utility.get_string(30203)) if not (utility.get_setting('selected_profile') or (utility.get_setting('single_profile') == 'true')): profiles.choose() elif not (utility.get_setting('single_profile') == 'true') and (utility.get_setting('show_profiles') == 'true'): profiles.choose() elif not ((utility.get_setting('single_profile') and utility.get_setting('show_profiles')) == 'true'): profiles.load() #if not utility.get_setting('is_kid') == 'true': #match = re.compile('"version":{"app":"(.+?)"').findall(content) #utility.set_setting('lolomos', match[0]) #3a5922fa-a4a9-41d8-a08c-9e84c2d32be4_ROOT if login_progress: if not utility.progress_window(login_progress, 100, utility.get_string(30204)): return False xbmc.sleep(500) login_progress.close() return True else: utility.notification(utility.get_string(30300)) if login_progress: login_progress.close() return False
def choose(): profiles = [] content = utility.decode(connect.load_site(utility.profile_url)) match = json.loads(content)['profiles'] for item in match: profile = {'name': item['firstName'], 'token': item['guid'], 'is_kid': item['experience'] == 'jfk'} profiles.append(profile) if len(match) > 0: dialog = xbmcgui.Dialog() nr = dialog.select(utility.get_string(30103), [profile['name'] for profile in profiles]) if nr >= 0: selected_profile = profiles[nr] else: selected_profile = profiles[0] connect.load_site(utility.profile_switch_url + selected_profile['token']) utility.set_setting('selected_profile', selected_profile['token']) utility.set_setting('is_kid', 'true' if selected_profile['is_kid'] else 'false') utility.set_setting('profile_name', selected_profile['name']) connect.save_session() else: utility.log('Choose profile: no profiles were found!', loglevel=xbmc.LOGERROR)
def choose(): profiles = [] content = utility.decode(connect.load_site(utility.profile_url)) match = re.compile('"experience":"(.+?)".+?guid":"(.+?)".+?profileName":"(.+?)"', re.DOTALL).findall(content) for is_kid, token, name in match: profile = {"name": utility.unescape(name), "token": token, "is_kid": is_kid == "jfk"} profiles.append(profile) if len(match) > 0: dialog = xbmcgui.Dialog() nr = dialog.select(utility.get_string(30103), [profile["name"] for profile in profiles]) if nr >= 0: selected_profile = profiles[nr] else: selected_profile = profiles[0] connect.load_site(utility.profile_switch_url + selected_profile["token"]) utility.set_setting("selected_profile", selected_profile["token"]) utility.set_setting("is_kid", "true" if selected_profile["is_kid"] else "false") utility.set_setting("profile_name", selected_profile["name"]) connect.save_session() get_my_list_change_authorisation() else: utility.log("Choose profile: no profiles were found!", loglevel=xbmc.LOGERROR)
def choose(): profiles = [] content = utility.decode(connect.load_site(utility.profile_url)) match = re.compile('"experience":"(.+?)".+?guid":"(.+?)".+?firstName":"(.+?)"', re.DOTALL).findall(content) for is_kid, token, name in match: profile = {'name': utility.unescape(name), 'token': token, 'is_kid': is_kid == 'jfk'} profiles.append(profile) if len(match) > 0: dialog = xbmcgui.Dialog() nr = dialog.select(utility.get_string(30103), [profile['name'] for profile in profiles]) if nr >= 0: selected_profile = profiles[nr] else: selected_profile = profiles[0] connect.load_site(utility.profile_switch_url + selected_profile['token']) utility.set_setting('selected_profile', selected_profile['token']) utility.set_setting('is_kid', 'true' if selected_profile['is_kid'] else 'false') utility.set_setting('profile_name', selected_profile['name']) connect.save_session() get_my_list_change_authorisation() else: utility.log('Choose profile: no profiles were found!', loglevel=xbmc.LOGERROR)
def login(): login_progress = xbmcgui.DialogProgress() login_progress.create('Netflix', utility.get_string(30200) + '...') utility.progress_window(login_progress, 25, utility.get_string(30201)) connect.session.cookies.clear() content = utility.decode(connect.load_site(utility.main_url + '/Login')) match = re.compile('"locale":"(.+?)"', re.DOTALL | re.IGNORECASE).findall(content) if match and not utility.get_setting('language'): utility.log('Setting language: ' + match[0]) utility.set_setting('language', match[0]) if not 'Sorry, Netflix ' in content: match = re.compile('id="signout".+?authURL=(.+?)"', re.DOTALL).findall(content) if match: utility.log('Setting authorization url: ' + match[0]) utility.set_setting('authorization_url', match[0]) if 'id="page-LOGIN"' in content: match = re.compile('name="authURL" value="(.+?)"', re.DOTALL).findall(content) utility.log('Setting authorization url: ' + match[0]) utility.set_setting('authorization_url', match[0]) post_data = {'authURL': match[0], 'email': utility.get_setting('username'), 'password': utility.get_setting('password'), 'RememberMe': 'on'} utility.progress_window(login_progress, 50, utility.get_string(30202)) content = utility.decode(connect.load_site(utility.main_url + '/Login?locale=' + utility.get_setting('language'), post=post_data)) if 'id="page-LOGIN"' in content: utility.notification(utility.get_string(30303)) return False match = re.compile('"locale":"(.+?)"', re.DOTALL | re.IGNORECASE).findall(content) if match and not utility.get_setting('language'): utility.log('Setting language: ' + match[0]) utility.set_setting('language', match[0]) match = re.compile('"country":"(.+?)"', re.DOTALL | re.IGNORECASE).findall(content) if match: utility.log('Setting country code: ' + match[0]) utility.set_setting('country_code', match[0]) connect.save_session() utility.progress_window(login_progress, 75, utility.get_string(30203)) if not (utility.get_setting('selected_profile') or (utility.get_setting('single_profile') == 'true')): profiles.choose() elif not (utility.get_setting('single_profile') == 'true') and (utility.get_setting('show_profiles') == 'true'): profiles.choose() elif not ( (utility.get_setting('single_profile') == 'true') and ( utility.get_setting('show_profiles') == 'true')): profiles.load() else: profiles.get_my_list_change_authorisation() if not utility.get_setting('is_kid') == 'true': content = utility.decode(connect.load_site(utility.main_url + '/browse')) match = re.compile('"version":{"app":"(.+?)"').findall(content) netflix_application, netflix_id = match[0].split('-') utility.set_setting('netflix_application', netflix_application) utility.set_setting('netflix_id', netflix_id) if login_progress: if not utility.progress_window(login_progress, 100, utility.get_string(30204)): return False xbmc.sleep(500) login_progress.close() return True else: utility.notification(utility.get_string(30300)) if login_progress: login_progress.close() return False
def update_displayed(): menu_path = xbmc.getInfoLabel("Container.FolderPath") if not utility.get_setting("show_profiles") == "true": utility.set_setting("selected_profile", None) connect.save_session() xbmc.executebuiltin("Container.Update(" + menu_path + ")")
def update_displayed(): menu_path = xbmc.getInfoLabel('Container.FolderPath') if not utility.get_setting('show_profiles') == 'true': utility.set_setting('selected_profile', None) connect.save_session() xbmc.executebuiltin('Container.Update(' + menu_path + ')')
def login(): login_progress = xbmcgui.DialogProgress() login_progress.create('Netflix', utility.get_string(30200) + '...') utility.progress_window(login_progress, 25, utility.get_string(30201)) connect.session.cookies.clear() content = utility.decode(connect.load_site(utility.main_url + 'Login')) if not 'Sorry, Netflix ' in content: match = re.compile('name="authURL" value="(.+?)"', re.DOTALL).findall(content) utility.log('Setting authorization url: ' + match[0]) utility.set_setting('authorization_url', match[0]) match = re.compile('locale: "(.+?)"', re.DOTALL).findall(content) utility.set_setting('language', match[0]) post_data = { 'authURL': utility.get_setting('authorization_url'), 'email': utility.get_setting('username'), 'password': utility.get_setting('password'), 'RememberMe': 'on' } utility.progress_window(login_progress, 50, utility.get_string(30202)) content = utility.decode( connect.load_site(utility.main_url + 'Login?locale=' + utility.get_setting('language'), post=post_data)) if 'id="page-LOGIN"' in content: utility.notification(utility.get_string(30303)) return False match = re.compile('"apiUrl":"(.+?)",').findall(content) utility.set_setting('api_url', match[0]) post_data = utility.my_list % utility.get_setting('authorization_url') content = utility.decode( connect.load_site(utility.evaluator(), post=post_data)) matches = json.loads(content)['value'] match = matches['lolomos'].keys() utility.set_setting('root_list', match[0]) match = matches['lists'].keys() utility.set_setting('my_list', match[1]) match = matches['lists'][utility.get_setting( 'my_list')]['trackIds']['trackId'] utility.set_setting('track_id', unicode(match)) connect.save_session() utility.progress_window(login_progress, 75, utility.get_string(30203)) if not (utility.get_setting('selected_profile') or (utility.get_setting('single_profile') == 'true')): profiles.choose() elif not (utility.get_setting('single_profile') == 'true') and ( utility.get_setting('show_profiles') == 'true'): profiles.choose() elif not ((utility.get_setting('single_profile') and utility.get_setting('show_profiles')) == 'true'): profiles.load() #if not utility.get_setting('is_kid') == 'true': #match = re.compile('"version":{"app":"(.+?)"').findall(content) #utility.set_setting('lolomos', match[0]) #3a5922fa-a4a9-41d8-a08c-9e84c2d32be4_ROOT if login_progress: if not utility.progress_window(login_progress, 100, utility.get_string(30204)): return False xbmc.sleep(500) login_progress.close() return True else: utility.notification(utility.get_string(30300)) if login_progress: login_progress.close() return False
def login(): login_progress = xbmcgui.DialogProgress() login_progress.create('Netflix', utility.get_string(30200) + '...') utility.progress_window(login_progress, 25, utility.get_string(30201)) connect.session.cookies.clear() content = utility.decode(connect.load_site(utility.main_url + '/Login')) match = re.compile('"locale":"(.+?)"', re.DOTALL | re.IGNORECASE).findall(content) if match and not utility.get_setting('language'): utility.log('Setting language: ' + match[0]) utility.set_setting('language', match[0]) if not 'Sorry, Netflix ' in content: match = re.compile('id="signout".+?authURL=(.+?)"', re.DOTALL).findall(content) if match: utility.log('Setting authorization url: ' + match[0]) utility.set_setting('authorization_url', match[0]) if 'id="page-LOGIN"' in content: match = re.compile('name="authURL" value="(.+?)"', re.DOTALL).findall(content) utility.log('Setting authorization url: ' + match[0]) utility.set_setting('authorization_url', match[0]) post_data = { 'authURL': match[0], 'email': utility.get_setting('username'), 'password': utility.get_setting('password'), 'RememberMe': 'on' } utility.progress_window(login_progress, 50, utility.get_string(30202)) content = utility.decode( connect.load_site(utility.main_url + '/Login?locale=' + utility.get_setting('language'), post=post_data)) if 'id="page-LOGIN"' in content: utility.notification(utility.get_string(30303)) return False match = re.compile('"locale":"(.+?)"', re.DOTALL | re.IGNORECASE).findall(content) if match and not utility.get_setting('language'): utility.log('Setting language: ' + match[0]) utility.set_setting('language', match[0]) match = re.compile('"country":"(.+?)"', re.DOTALL | re.IGNORECASE).findall(content) if match: utility.log('Setting country code: ' + match[0]) utility.set_setting('country_code', match[0]) connect.save_session() utility.progress_window(login_progress, 75, utility.get_string(30203)) if not (utility.get_setting('selected_profile') or (utility.get_setting('single_profile') == 'true')): profiles.choose() elif not (utility.get_setting('single_profile') == 'true') and ( utility.get_setting('show_profiles') == 'true'): profiles.choose() elif not ((utility.get_setting('single_profile') == 'true') and (utility.get_setting('show_profiles') == 'true')): profiles.load() else: profiles.get_my_list_change_authorisation() if not utility.get_setting('is_kid') == 'true': content = utility.decode( connect.load_site(utility.main_url + '/browse')) match = re.compile('"version":{"app":"(.+?)"').findall(content) netflix_application, netflix_version = match[0].split('-') utility.set_setting('netflix_application', netflix_application) utility.set_setting('netflix_version', netflix_version) if login_progress: if not utility.progress_window(login_progress, 100, utility.get_string(30204)): return False xbmc.sleep(500) login_progress.close() return True else: utility.notification(utility.get_string(30300)) if login_progress: login_progress.close() return False