def theme_count(self, name, count=True): from resources.libs import check from resources.libs.common import tools themefile = check.check_build(name, 'theme') response = tools.open_url(themefile) if not response: return False themetext = response.text link = tools.clean_text(themetext) match = re.compile('name="(.+?)"').findall(link) if len(match) == 0: return False themes = [] for item in match: themes.append(item) if len(themes) > 0: if count: return len(themes) else: return themes else: return False
def get_listing(self): from resources.libs import test response = tools.open_url(CONFIG.BUILDFILE) if response: link = tools.clean_text(response.text) else: directory.add_file('Kodi Version: {0}'.format(CONFIG.KODIV), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_dir('Save Data Menu', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_separator() directory.add_file('URL for txt file not valid', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file('{0}'.format(CONFIG.BUILDFILE), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) return total, count19, adultcount, hidden = check.build_count() match = re.compile('name="(.+?)".+?ersion="(.+?)".+?rl="(.+?)".+?ui="(.+?)".+?odi="(.+?)".+?heme="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"').findall(link) if total == 1: for name, version, url, gui, kodi, theme, icon, fanart, adult, description in match: if not CONFIG.SHOWADULT == 'true' and adult.lower() == 'yes': continue if not CONFIG.DEVELOPER == 'true' and test.str_test(name): continue self.view_build(match[0][0]) return directory.add_file('Kodi Version: {0}'.format(CONFIG.KODIV), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_dir('Save Data Menu', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_separator() if len(match) >= 1: if CONFIG.SEPARATE == 'true': self._list_all(match) else: if count19 > 0: state = '+' if CONFIG.SHOW19 == 'false' else '-' directory.add_file('[B]{0} Matrix Builds ({1})[/B]'.format(state, count19), {'mode': 'togglesetting', 'name': 'show19'}, themeit=CONFIG.THEME3) if CONFIG.SHOW19 == 'true': self._list_all(match, kodiv=19) elif hidden > 0: if adultcount > 0: directory.add_file('There is currently only Adult builds', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file('Enable Show Adults in Addon Settings > Misc', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) else: directory.add_file('Currently No Builds Offered from {0}'.format(CONFIG.ADDONTITLE), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) else: directory.add_file('Text file for builds not formatted correctly.', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3)
def __init__(self): self.bf = None self.link = None response = tools.open_url(CONFIG.BUILDFILE) if response: self.bf = response.text self.link = tools.clean_text(self.bf)
def data_menu(self): response = tools.open_url(CONFIG.DATAFILE) link = tools.clean_text(response.text) match = re.compile( 'name="(.+?)".+?rl="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?escription="(.+?)"' ).findall(link) self._list_all(match) # directory.add_file('[COLOR yellow][B]Restore From File[/B][/COLOR] - Chọn file data cần khôi phục',{'mode': 'inputurl'}, icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) if not CONFIG.CUSTOMLINK == '': response = tools.open_url(CONFIG.CUSTOMLINK) link = tools.clean_text(response.text) match = re.compile( 'name="(.+?)".+?rl="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?escription="(.+?)"' ).findall(link) directory.add_file( '===== [COLOR red][B]LIST DATA CÁ NHÂN[/B][/COLOR] =====', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file('Custom Data URL: [COLOR yellow]%s[/COLOR]' % (CONFIG.CUSTOMLINK), {'mode': ''}, icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file( '[COLOR yellow][B]Reset:[/B][/COLOR] Xóa link trả về mặc định', {'mode': 'cleardataurl'}, icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) self._list_data(match) else: directory.add_dir( '[COLOR yellow][B]Restore From URL[/B][/COLOR] - Nhập URL list data cần khôi phục', { 'mode': 'inputurl', 'name': 'datalink' }, icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3)
def apk_menu(url=None): from resources.libs.common import logging from resources.libs.common import tools if check_for_fm(): directory.add_dir('Official Kodi APK\'s', {'mode': 'kodiapk'}, icon=CONFIG.ICONAPK, themeit=CONFIG.THEME1) directory.add_separator() response = tools.open_url(CONFIG.APKFILE) url_response = tools.open_url(url) if response: TEMPAPKFILE = tools.clean_text(url_response.text if url else response.text) if TEMPAPKFILE: match = re.compile('name="(.+?)".+?ection="(.+?)".+?rl="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"').findall(TEMPAPKFILE) if len(match) > 0: x = 0 for aname, section, url, icon, fanart, adult, description in match: if not CONFIG.SHOWADULT == 'true' and adult.lower() == 'yes': continue if section.lower() == 'yes': x += 1 directory.add_dir("[B]{0}[/B]".format(aname), {'mode': 'apk', 'name': aname, 'url': url}, description=description, icon=icon, fanart=fanart, themeit=CONFIG.THEME3) else: x += 1 directory.add_file(aname, {'mode': 'apkinstall', 'name': aname, 'url': url}, description=description, icon=icon, fanart=fanart, themeit=CONFIG.THEME2) if x == 0: directory.add_file("No addons added to this menu yet!", themeit=CONFIG.THEME2) else: logging.log("[APK Menu] ERROR: Invalid Format.", level=xbmc.LOGERROR) else: logging.log("[APK Menu] ERROR: URL for apk list not working.", level=xbmc.LOGERROR) directory.add_file('Url for txt file not valid', themeit=CONFIG.THEME3) directory.add_file('{0}'.format(CONFIG.APKFILE), themeit=CONFIG.THEME3) else: logging.log("[APK Menu] No APK list added.")
def view_build(self, name): response = tools.open_url(CONFIG.BUILDFILE) if response: link = tools.clean_text(response.text) else: directory.add_file('URL for txt file not valid', themeit=CONFIG.THEME3) directory.add_file('{0}'.format(CONFIG.BUILDFILE), themeit=CONFIG.THEME3) return if not check.check_build(name, 'version'): directory.add_file('Error reading the txt file.', themeit=CONFIG.THEME3) directory.add_file( '{0} was not found in the builds list.'.format(name), themeit=CONFIG.THEME3) return match = re.compile( 'name="%s".+?ersion="(.+?)".+?rl="(.+?)".+?ui="(.+?)".+?odi="(.+?)".+?heme="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?review="(.+?)".+?dult="(.+?)".+?nfo="(.+?)".+?escription="(.+?)"' % name).findall(link) for version, url, gui, kodi, themefile, icon, fanart, preview, adult, info, description in match: build = '{0} (v{1})'.format(name, version) updatecheck = CONFIG.BUILDNAME == name and version > CONFIG.BUILDVERSION versioncheck = True if float( CONFIG.KODIV) == float(kodi) else False previewcheck = tools.open_url(preview, check=True) guicheck = tools.open_url(gui, check=True) themecheck = tools.open_url(themefile, check=True) if updatecheck: build = '{0} [COLOR red][CURRENT v{1}][/COLOR]'.format( build, CONFIG.BUILDVERSION) directory.add_file(build, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME4) directory.add_separator() directory.add_dir('Save Data Menu', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_file('Build Information', { 'mode': 'buildinfo', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME3) if previewcheck: directory.add_file('View Video Preview', { 'mode': 'buildpreview', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME3) if versioncheck: directory.add_file( '[I]Build designed for Kodi v{0} (installed: v{1})[/I]'. format(str(kodi), str(CONFIG.KODIV)), fanart=fanart, icon=icon, themeit=CONFIG.THEME3) directory.add_separator('INSTALL') directory.add_file('Fresh Install', { 'mode': 'install', 'action': 'fresh', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME1) directory.add_file('Standard Install', { 'mode': 'install', 'action': 'normal', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME1) if guicheck: directory.add_file('Apply guiFix', { 'mode': 'install', 'action': 'gui', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME1) if themecheck: directory.add_separator('THEMES', fanart=fanart, icon=icon) response = tools.open_url(themefile) theme = response.text themelink = tools.clean_text(theme) match = re.compile( 'name="(.+?)".+?rl="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"' ).findall(themelink) for themename, themeurl, themeicon, themefanart, themeadult, description in match: adultcheck = CONFIG.SHOWADULT != 'true' and themeadult.lower( ) == 'yes' if adultcheck: continue themetitle = themename if not themename == CONFIG.BUILDTHEME else "[B]{0} (Installed)[/B]".format( themename) themeicon = themeicon if tools.open_url( themeicon, check=True) else icon themefanart = themefanart if tools.open_url( themefanart, check=True) else fanart directory.add_file(themetitle, { 'mode': 'install', 'action': 'theme', 'name': name, 'url': themename }, description=description, fanart=themefanart, icon=themeicon, themeit=CONFIG.THEME3)
def get_listing(self): from resources.libs import test response = tools.open_url(CONFIG.BUILDFILE) if response: link = tools.clean_text(response.text) else: directory.add_file( '[B]Version Kodi:[/B] [COLOR azure]{0}[/COLOR] {0}'.format( CONFIG.KODIV), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_dir('[B][COLOR azure]MENU GUARDAR DATOS[/COLOR][/B]', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_separator() directory.add_file('URL para archivo txt no valido', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file('{0}'.format(CONFIG.BUILDFILE), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) return total, count19, adultcount, hidden = check.build_count() match = re.compile( 'name="(.+?)".+?ersion="(.+?)".+?rl="(.+?)".+?ui="(.+?)".+?odi="(.+?)".+?heme="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"' ).findall(link) if total == 1: for name, version, url, gui, kodi, theme, icon, fanart, adult, description in match: if not CONFIG.SHOWADULT == 'true' and adult.lower() == 'yes': continue if not CONFIG.DEVELOPER == 'true' and test.str_test(name): continue self.view_build(match[0][0]) return directory.add_file( '[B]Version Kodi:[/B] [COLOR azure]{0}[/COLOR]'.format( CONFIG.KODIV), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_dir('[B][COLOR azure]MENU GUARDAR DATOS[/COLOR][/B]', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_separator() if len(match) >= 1: if CONFIG.SEPARATE == 'true': self._list_all(match) else: if count19 > 0: state = '[COLOR azure]+[/COLOR]' if CONFIG.SHOW19 == 'false' else '[COLOR azure]-[/COLOR]' directory.add_file( '[B][COLOR dodgerblue]{0} BUILDS:[/COLOR][/B][COLOR azure][B] GTKING[/COLOR] [COLOR lime]MATRIX[/B][/COLOR]' .format(state, count19), { 'mode': 'togglesetting', 'name': 'show19' }, themeit=CONFIG.THEME3) if CONFIG.SHOW19 == 'true': self._list_all(match, kodiv=19) elif hidden > 0: if adultcount > 0: directory.add_file( '[COLOR azure]Actualmente Solo hay Builds para Adultos[COLOR]', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file( '[COLOR azure]Habilitar Mostrar Adultos en los Ajustes de Addon[COLOR] > Misc', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) else: directory.add_file( '[COLOR azure]Actualmente No Se Ofrecen Builds de[COLOR] {0}' .format(CONFIG.ADDONTITLE), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) else: directory.add_file( '[COLOR azure]El archivo de texto para la Build no tiene el formato correcto.[COLOR]', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3)
def view_build(self, name): response = tools.open_url(CONFIG.BUILDFILE) if response: link = tools.clean_text(response.text) else: directory.add_file('[COLOR azure]URL para archivo txt no válido', themeit=CONFIG.THEME3) directory.add_file('{0}'.format(CONFIG.BUILDFILE), themeit=CONFIG.THEME3) return if not check.check_build(name, 'version'): directory.add_file( '[COLOR azure]Error al leer el archivo txt.[COLOR]', themeit=CONFIG.THEME3) directory.add_file( '{0} [COLOR azure]no se encontró en la lista de builds.[COLOR]' .format(name), themeit=CONFIG.THEME3) return match = re.compile( 'name="%s".+?ersion="(.+?)".+?rl="(.+?)".+?ui="(.+?)".+?odi="(.+?)".+?heme="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?review="(.+?)".+?dult="(.+?)".+?nfo="(.+?)".+?escription="(.+?)"' % name).findall(link) for version, url, gui, kodi, themefile, icon, fanart, preview, adult, info, description in match: build = '[COLOR azure]{0}[/COLOR] [COLOR white]- v{1}[/COLOR]'.format( name, version) updatecheck = CONFIG.BUILDNAME == name and version > CONFIG.BUILDVERSION versioncheck = True if float( CONFIG.KODIV) == float(kodi) else False previewcheck = tools.open_url(preview, check=True) guicheck = tools.open_url(gui, check=True) themecheck = tools.open_url(themefile, check=True) if updatecheck: build = '{0} [COLOR red][ACTUAL v{1}][/COLOR]'.format( build, CONFIG.BUILDVERSION) directory.add_file(build, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME4) directory.add_separator() directory.add_dir('[B][COLOR azure]MENU GUARDAR DATOS[/COLOR][/B]', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_file('[B][COLOR azure]BUILD INFORMACION[/COLOR][/B]', { 'mode': 'buildinfo', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME3) if previewcheck: directory.add_file('Ver Vista Previa de Video', { 'mode': 'buildpreview', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME3) if versioncheck: directory.add_file( '[I][COLOR powderblue]Build diseñado para Kodi v{0}[/COLOR] [COLOR azure]( instalado: [COLOR gold]v{1}[/COLOR] )[/COLOR][/I]' .format(str(kodi), str(CONFIG.KODIV)), fanart=fanart, icon=icon, themeit=CONFIG.THEME3) directory.add_file( '[I][COLOR azure]Soporte[/COLOR] [COLOR dodgerblue]TELEGRAM:[/COLOR] [I][COLOR azure]https://t.me/beelinkking[/COLOR][/I]' .format(str(kodi), str(CONFIG.KODIV)), fanart=fanart, icon=icon, themeit=CONFIG.THEME3) directory.add_separator('[B]INSTALACION BUILD[/B]', fanart=fanart, icon=icon, themeit=CONFIG.THEME3) directory.add_file('[B][COLOR azure]- Instalar Build[/COLOR][/B]', { 'mode': 'install', 'action': 'build', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME3) if guicheck: directory.add_file('Aplicar Corrección gui', { 'mode': 'install', 'action': 'gui', 'name': name }, description=description, fanart=fanart, icon=icon, themeit=CONFIG.THEME1) if themecheck: directory.add_separator('[B]PARCHES MATRIX[/B]', fanart=fanart, icon=icon, themeit=CONFIG.THEME2) response = tools.open_url(themefile) theme = response.text themelink = tools.clean_text(theme) match = re.compile( 'name="(.+?)".+?rl="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"' ).findall(themelink) for themename, themeurl, themeicon, themefanart, themeadult, description in match: adultcheck = CONFIG.SHOWADULT != 'true' and themeadult.lower( ) == 'yes' if adultcheck: continue themetitle = themename if not themename == CONFIG.BUILDTHEME else "{0} - Instalado".format( themename) themeicon = themeicon if tools.open_url( themeicon, check=True) else icon themefanart = themefanart if tools.open_url( themefanart, check=True) else fanart directory.add_file(themetitle, { 'mode': 'install', 'action': 'theme', 'name': name, 'url': themename }, description=description, fanart=themefanart, icon=themeicon, themeit=CONFIG.THEME6)
def get_listing(self): from resources.libs import test if 42 - 42: oO0o - i1IIi / i11iIiiIii + OOooOOo + OoO0O00 iiiI11 = tools.open_url(CONFIG.BUILDFILE) if 17 - 17: oO0o.Oo0Ooo.I1ii11iIi11i if iiiI11: oOoOo00oOo = tools.clean_text(iiiI11.text) else: directory.add_file('Versão Kodi: {0}'.format(CONFIG.KODIV), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_dir('Menu Salvar Dados', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_separator() directory.add_file('URL para arquivo txt não é válido', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file('{0}'.format(CONFIG.BUILDFILE), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) return if 3 - 3: OoOoOO00.Oo0Ooo.I1IiiI / Ii1I IiiiI1II1I1, ooIi11iI1i, Ooo, O0o0Oo = check.build_count() if 78 - 78: iIii1I11I1II1 - Ii1I * OoO0O00 + o0oOOo0O0Ooo + iii1I1I + iii1I1I Oo = re.compile( 'name="(.+?)".+?ersion="(.+?)".+?rl="(.+?)".+?ui="(.+?)".+?odi="(.+?)".+?heme="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"' ).findall(oOoOo00oOo) if 11 - 11: iii1I1I - OoO0O00 % Oo0ooO0oo0oO % iii1I1I / OoOoOO00 - OoO0O00 if IiiiI1II1I1 == 1: for oo00, o00, Oo0oO0ooo, o0oOoO00o, i1, oOOoo00O0O, i1111, i11, I11, Oo0o0000o0o0 in Oo: if not CONFIG.SHOWADULT == 'true' and I11.lower() == 'yes': continue if not CONFIG.DEVELOPER == 'true' and test.str_test(oo00): continue if 74 - 74: iii1I1I * O0 self.view_build(Oo[0][0]) return if 89 - 89: oO0o + Oo0Ooo directory.add_file('Versão Kodi: {0}'.format(CONFIG.KODIV), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_dir('Menu Salvar Dados', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_separator() if 3 - 3: i1IIi / I1IiiI % I11i * i11iIiiIii / O0 * I11i if len(Oo) >= 1: if CONFIG.SEPARATE == 'true': self._list_all(Oo) else: if ooIi11iI1i > 0: III1ii1iII = '+' if CONFIG.SHOW19 == 'false' else '-' directory.add_file('[B]{0} Matrix Builds ({1})[/B]'.format( III1ii1iII, ooIi11iI1i), { 'mode': 'togglesetting', 'name': 'show19' }, themeit=CONFIG.THEME3) if CONFIG.SHOW19 == 'true': self._list_all(Oo, kodiv=19) if 54 - 54: I1IiiI % II111iiii % II111iiii elif O0o0Oo > 0: if Ooo > 0: directory.add_file( 'No momento, há apenas construções para adultos', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file( 'Habilite Mostrar Adultos em Configurações do Complemento > Diversos', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) else: directory.add_file( 'Atualmente não há construções oferecidas de {0}'.format( CONFIG.ADDONTITLE), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) else: directory.add_file( 'Arquivo de texto para compilações formatado incorretamente.', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) if 13 - 13: o0oOOo0O0Ooo.Ii1I
def view_build(self, name): if 19 - 19: I11i + Oo0ooO0oo0oO iiiI11 = tools.open_url(CONFIG.BUILDFILE) if 53 - 53: OoooooooOO.i1IIi if iiiI11: oOoOo00oOo = tools.clean_text(iiiI11.text) else: directory.add_file('URL para arquivo txt não é válido', themeit=CONFIG.THEME3) directory.add_file('{0}'.format(CONFIG.BUILDFILE), themeit=CONFIG.THEME3) return if 18 - 18: o0oOOo0O0Ooo if not check.check_build(name, 'version'): directory.add_file('Erro ao ler o arquivo txt.', themeit=CONFIG.THEME3) directory.add_file( '{0} não foi encontrado na lista de builds.'.format(name), themeit=CONFIG.THEME3) return if 28 - 28: OOooOOo - O00oOoOoO0o0O.O00oOoOoO0o0O + OoOoOO00 - OoooooooOO + O0 Oo = re.compile( 'name="%s".+?ersion="(.+?)".+?rl="(.+?)".+?ui="(.+?)".+?odi="(.+?)".+?heme="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?review="(.+?)".+?dult="(.+?)".+?nfo="(.+?)".+?escription="(.+?)"' % name).findall(oOoOo00oOo) if 95 - 95: OoO0O00 % oO0o.O0 for o00, Oo0oO0ooo, o0oOoO00o, i1, oOOOo0o0O, i1111, i11, I1i1I, I11, oOO00oOO, Oo0o0000o0o0 in Oo: OoOo = '{0} (v{1})'.format(name, o00) if 18 - 18: i11iIiiIii Ii11I = CONFIG.BUILDNAME == name and o00 > CONFIG.BUILDVERSION OOO0OOO00oo = True if float(CONFIG.KODIV) == float(i1) else False Iii111II = tools.open_url(I1i1I, check=True) iiii11I = tools.open_url(o0oOoO00o, check=True) Ooo0OO0oOO = tools.open_url(oOOOo0o0O, check=True) if 50 - 50: I1IiiI if Ii11I: OoOo = '{0} [COLOR red][CURRENT v{1}][/COLOR]'.format( OoOo, CONFIG.BUILDVERSION) if 34 - 34: I1IiiI * II111iiii % iii1I1I * OoOoOO00 - I1IiiI directory.add_file(OoOo, description=Oo0o0000o0o0, fanart=i11, icon=i1111, themeit=CONFIG.THEME4) directory.add_separator() directory.add_dir('Menu Salvar Dados', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_file('Informações de construção', { 'mode': 'buildinfo', 'name': name }, description=Oo0o0000o0o0, fanart=i11, icon=i1111, themeit=CONFIG.THEME3) if 33 - 33: o0oOOo0O0Ooo + OOooOOo * OoO0O00 - Oo0Ooo / oO0o % Ii1I if Iii111II: directory.add_file('Ver visualização do vídeo', { 'mode': 'buildpreview', 'name': name }, description=Oo0o0000o0o0, fanart=i11, icon=i1111, themeit=CONFIG.THEME3) if 21 - 21: OoO0O00 * iIii1I11I1II1 % oO0o * i1IIi if OOO0OOO00oo: directory.add_file( '[I]Construir projetado para Kodi v{0} (instalado: v{1})[/I]' .format(str(i1), str(CONFIG.KODIV)), fanart=i11, icon=i1111, themeit=CONFIG.THEME3) if 16 - 16: O0 - O0oo0OO0 * iIii1I11I1II1 + iii1I1I directory.add_separator('INSTALAR') directory.add_file('INSTALAR', { 'mode': 'install', 'action': 'build', 'name': name }, description=Oo0o0000o0o0, fanart=i11, icon=i1111, themeit=CONFIG.THEME1) if 50 - 50: II111iiii - Oo0ooO0oo0oO * I1ii11iIi11i / O0oo0OO0 + o0oOOo0O0Ooo if iiii11I: directory.add_file('Aplicar guiFix', { 'mode': 'install', 'action': 'gui', 'name': name }, description=Oo0o0000o0o0, fanart=i11, icon=i1111, themeit=CONFIG.THEME1) if 88 - 88: Ii1I / O0oo0OO0 + iii1I1I - II111iiii / Oo0ooO0oo0oO - OoOoOO00 if Ooo0OO0oOO: directory.add_separator('TEMAS', fanart=i11, icon=i1111) if 15 - 15: I1ii11iIi11i + OoOoOO00 - OoooooooOO / OOooOOo iiiI11 = tools.open_url(oOOOo0o0O) oOOoo00O0O = iiiI11.text oo000OO00Oo = tools.clean_text(oOOoo00O0O) Oo = re.compile( 'name="(.+?)".+?rl="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"' ).findall(oo000OO00Oo) for O0OOO0OOoO0O, O00Oo000ooO0, OoO0O00IIiII, o0, ooOooo000oOO, Oo0o0000o0o0 in Oo: Oo0oOOo = CONFIG.SHOWADULT != 'true' and ooOooo000oOO.lower( ) == 'yes' if 58 - 58: II111iiii * OOooOOo * I1ii11iIi11i / OOooOOo if Oo0oOOo: continue if 75 - 75: oO0o I1III = O0OOO0OOoO0O if not O0OOO0OOoO0O == CONFIG.BUILDTHEME else "[B]{0} (Installed)[/B]".format( O0OOO0OOoO0O) OoO0O00IIiII = OoO0O00IIiII if tools.open_url( OoO0O00IIiII, check=True) else i1111 o0 = o0 if tools.open_url(o0, check=True) else i11 if 63 - 63: OOooOOo % oO0o * oO0o * OoO0O00 / I1ii11iIi11i directory.add_file(I1III, { 'mode': 'install', 'action': 'theme', 'name': name, 'url': O0OOO0OOoO0O }, description=Oo0o0000o0o0, fanart=o0, icon=OoO0O00IIiII, themeit=CONFIG.THEME3) if 74 - 74: II111iiii
def get_listing(self): from resources.libs import test response = tools.open_url(CONFIG.BUILDFILE) if response: link = tools.clean_text(response.text) else: directory.add_file('Bạn đang dùng Kodi: {0} {1}'.format( CONFIG.KODIV, tools.platform().title()), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_separator() directory.add_file('Hiện tại không có bản Build nào để sử dụng', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) return # total, count17, count18, count19, adultcount, hidden = check.build_count() # match = re.compile('name="(.+?)".+?ersion="(.+?)".+?rl="(.+?)".+?ui="(.+?)".+?odi="(.+?)".+?heme="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?dult="(.+?)".+?escription="(.+?)"').findall(link) match = re.compile( 'name="(.+?)".+?rl="(.+?)".+?con="(.+?)".+?anart="(.+?)".+?escription="(.+?)"' ).findall(link) # if total == 1: # for name, version, url, gui, kodi, theme, icon, fanart, adult, description in match: # if not CONFIG.SHOWADULT == 'true' and adult.lower() == 'yes': # continue # if not CONFIG.DEVELOPER == 'true' and test.str_test(name): # continue # self.view_build(match[0][0]) # return if not CONFIG.get_setting('buildlink') == '': directory.add_file('Custom Build URL: [COLOR yellow]%s[/COLOR]' % (CONFIG.BUILDFILE), {'mode': ''}, icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file( '[COLOR yellow][B]Reset:[/B][/COLOR] Xóa link trả về mặc định', {'mode': 'clearurl'}, icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file('Bạn đang dùng Kodi: {0} {1}'.format( CONFIG.KODIV, tools.platform().title()), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file( '===== [COLOR red][B]CHỌN BẢN CUSTOM BUILD MUỐN SỬ DỤNG[/B][/COLOR] =====', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) self._list_build(match) else: directory.add_dir( '[COLOR yellow][B]Custom Build URL:[/B][/COLOR] Nhập list của bạn', { 'mode': 'inputurl', 'name': 'buildlink' }, icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) directory.add_file('Bạn đang dùng Kodi: {0} {1}'.format( CONFIG.KODIV, tools.platform().title()), icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) # directory.add_dir('Save Data Menu', {'mode': 'savedata'}, icon=CONFIG.ICONSAVE, themeit=CONFIG.THEME3) directory.add_file( '===== [COLOR red][B]CHỌN BẢN BUILD MUỐN SỬ DỤNG[/B][/COLOR] =====', icon=CONFIG.ICONBUILDS, themeit=CONFIG.THEME3) # directory.add_separator() self._list_build(match)