def plugin_ask_for_creds(creds): username = gui.input(message=_.ASK_USERNAME, default=creds['username']).strip() if not len(username) > 0: gui.ok(message=_.EMPTY_USER, heading=_.LOGIN_ERROR_TITLE) return {'result': False, 'username': '', 'password': ''} password = gui.input(message=_.ASK_PASSWORD, hide_input=True).strip() if not len(password) > 0: gui.ok(message=_.EMPTY_PASS, heading=_.LOGIN_ERROR_TITLE) return {'result': False, 'username': '', 'password': ''} return {'result': True, 'username': username, 'password': password}
def add_group(type, **kwargs): type = str(type) groups = load_file(type + '_groups.json', ext=False, isJSON=True) if not groups: groups = [] else: groups = list(groups) name = gui.input(message=_.ADD_GROUP, default='').strip() if name and len(str(name)) > 0 and name != str(type).lower(): groups.append(name) groups = sorted(groups) write_file(type + '_groups.json', data=groups, ext=False, isJSON=True) method = 'GUI.ActivateWindow' json_rpc( method, { "window": "videos", "parameters": ["plugin://" + ADDON_ID + "/?_=groups_menu&type=" + type] })
def plugin_ask_for_creds(creds): if str(creds['username']).isnumeric(): creds['username'] = '' username = str( gui.input(message=_.ASK_USERNAME2, default=creds['username'])).strip() if not len(str(username)) > 0: gui.ok(message=_.EMPTY_USER2, heading=_.LOGIN_ERROR_TITLE) return {'result': False, 'username': '', 'password': ''} password = str(gui.input(message=_.ASK_PASSWORD2, hide_input=True)).strip() if not len(str(password)) > 0: gui.ok(message=_.EMPTY_PASS2, heading=_.LOGIN_ERROR_TITLE) return {'result': False, 'username': '', 'password': ''} return {'result': True, 'username': username, 'password': password}
def plugin_ask_for_creds(creds): email_or_pin = settings.getBool(key='email_instead_of_customer') if email_or_pin: if unicode(creds['username']).isnumeric(): creds['username'] = '' username = unicode( gui.input(message=_.ASK_USERNAME2, default=creds['username'])).strip() else: if not unicode(creds['username']).isnumeric(): creds['username'] = '' username = unicode( gui.input(message=_.ASK_USERNAME, default=creds['username'])).strip() if not len(unicode(username)) > 0: if email_or_pin: gui.ok(message=_.EMPTY_USER2, heading=_.LOGIN_ERROR_TITLE) else: gui.ok(message=_.EMPTY_USER, heading=_.LOGIN_ERROR_TITLE) return {'result': False, 'username': '', 'password': ''} if email_or_pin: password = unicode(gui.input(message=_.ASK_PASSWORD2, hide_input=True)).strip() else: password = unicode(gui.input(message=_.ASK_PASSWORD, hide_input=True)).strip() if not len(unicode(password)) > 0: if email_or_pin: gui.ok(message=_.EMPTY_PASS2, heading=_.LOGIN_ERROR_TITLE) else: gui.ok(message=_.EMPTY_PASS, heading=_.LOGIN_ERROR_TITLE) return {'result': False, 'username': '', 'password': ''} return {'result': True, 'username': username, 'password': password}
def search(query=None, **kwargs): items = [] if not query: query = gui.input(message=_.SEARCH, default='').strip() if not query: return profile_settings = load_profile(profile_id=1) for x in reversed(range(2, 10)): if check_key(profile_settings, 'search' + unicode(x - 1)): profile_settings['search' + unicode(x)] = profile_settings['search' + unicode(x - 1)] else: profile_settings['search' + unicode(x)] = '' profile_settings['search1'] = query if CONST_ONLINE_SEARCH: for x in reversed(range(2, 10)): if check_key(profile_settings, 'search_type' + unicode(x - 1)): profile_settings['search_type' + unicode(x)] = profile_settings['search_type' + unicode(x - 1)] else: profile_settings['search_type' + unicode(x)] = 0 profile_settings['search_type1'] = 0 save_profile(profile_id=1, profile=profile_settings) else: query = unicode(query) folder = plugin.Folder(title=_(_.SEARCH_FOR, query=query)) processed = process_replaytv_search(search=query) items += processed['items'] if settings.getBool('showMoviesSeries'): for vod_entry in CONST_VOD_CAPABILITY: processed = process_vod_content(data=vod_entry['file'], start=vod_entry['start'], search=query, type=vod_entry['label'], online=vod_entry['online']) items += processed['items'] items[:] = sorted(items, key=_sort_replay_items, reverse=True) items = items[:25] folder.add_items(items) return folder
def add_group(type, **kwargs): groups = load_file(type + '_groups.json', ext=False, isJSON=True) if not groups: groups = [] else: groups = list(groups) name = gui.input(message=_.ADD_GROUP, default='').strip() if name and len(str(name)) > 0 and name != str(type).lower(): groups.append(name) groups = sorted(groups) write_file(type + '_groups.json', data=groups, ext=False, isJSON=True) xbmc.executeJSONRPC( '{"jsonrpc":"2.0","id":1,"method":"GUI.ActivateWindow","params":{"window":"videos","parameters":["plugin://' + str(ADDON_ID) + '/?_=groups_menu&type=' + str(type) + '"]}}')
def online_search(query=None, **kwargs): items = [] if not query: query = gui.input(message=_.SEARCH, default='').strip() if not query: return profile_settings = load_profile(profile_id=1) for x in reversed(range(2, 10)): if check_key(profile_settings, 'search' + unicode(x - 1)): profile_settings['search' + unicode(x)] = profile_settings['search' + unicode(x - 1)] else: profile_settings['search' + unicode(x)] = '' if check_key(profile_settings, 'search_type' + unicode(x - 1)): profile_settings['search_type' + unicode(x)] = profile_settings['search_type' + unicode(x - 1)] else: profile_settings['search_type' + unicode(x)] = 0 profile_settings['search1'] = query profile_settings['search_type1'] = 1 save_profile(profile_id=1, profile=profile_settings) else: query = unicode(query) folder = plugin.Folder(title=_(_.SEARCH_FOR, query=query)) processed = process_vod_content(data=None, start=0, search=query, type='Online', online=1) items += processed['items'] items[:] = sorted(items, key=_sort_replay_items, reverse=True) items = items[:25] folder.add_items(items) return folder