コード例 #1
0
def new_depend(dataurl, script):
    kodi.log("SCRIPT LOOKED FOR IS : " + script)
    if "github" in dataurl:
        kodi.log("Is Github Repo")
        get_github(script, dataurl)
    else:
        kodi.log("Is Private Repo")
        try:
            link = kodi.open_url(tvpath)
            if script in link:
                script_url = tvpath + script + '/'
                version, orglist = get_url(script, script_url, link)
                kodi.log(' DOWNLOADING TVA FILE to ' + script + version +
                         '.zip')
                depend_install(script, orglist)
            else:
                link = kodi.open_url(kodi_url)
                if script in link:
                    script_url = kodi_url + script + '/'
                    version, orglist = get_url(script, script_url, link)
                    kodi.log(' DOWNLOADING Kodi FILE to ' + script + version +
                             '.zip')
                    depend_install(script, orglist)
                else:
                    orglist = dataurl + script + '/' + script
                    try:
                        script_urls = dataurl + script + '/'
                        link = kodi.open_url(script_urls)
                        if not link:
                            script_urls = script_urls.replace(
                                "raw.", "").replace("/master/",
                                                    "/tree/master/")
                            link = kodi.open_url(script_urls)
                        if link and "Invalid request" not in link:
                            version, orglist = get_url(script, script_urls,
                                                       link)
                            orglist += version + '.zip'
                            kodi.log(' DOWNLOADING NATIVE to ' + script +
                                     version + '.zip')
                            depend_install(script, orglist)
                        else:
                            kodi.log("DEAD REPO LOCATION = " + dataurl)
                    except Exception as e:
                        kodi.log(str(e))
                        kodi.log("No local depend found = " + script +
                                 " Unfound URL is " + orglist)
        except Exception as e:
            kodi.log(str(e))
            kodi.log("FAILED TO GET DEPENDS")
            traceback.print_exc(file=sys.stdout)
コード例 #2
0
def OPENSUBINSTALL(url):
    path = xbmc.translatePath(os.path.join('special://home', 'addons', 'packages'))
    dp = xbmcgui.DialogProgress()
    dp.create("Please Wait", " ", '', 'Installing Official OpenSubtitles Addon')
    lib = os.path.join(path, 'opensubtitlesOfficial.zip')
    try:
        os.remove(lib)
    except OSError:
        pass
    page = kodi.open_url(url)
    url += re.search('''title="([^z]*zip)''', page).group(1)
    downloader.download(url, lib, dp, timeout=120)
    addonfolder = xbmc.translatePath(os.path.join('special://', 'home', 'addons'))
    time.sleep(2)
    try:
        extract.all(lib, addonfolder, '')
    except IOError as e:
        kodi.message("Failed to open required files", "Error is: ", str(e))
        return False
    # except IOError, (errno, strerror):
    #     kodi.message("Failed to open required files", "Error code is:", strerror)
    #     return False
    #
    xbmc.executebuiltin("XBMC.UpdateLocalAddons()")
    addon_able.set_enabled("service.subtitles.opensubtitles_by_opensubtitles")
    xbmc.executebuiltin("XBMC.UpdateLocalAddons()")
    dialog.ok("Installation Complete!", "    We hope you enjoy your Kodi addon experience!",
              "    Brought To You By %s " % siteTitle)
コード例 #3
0
def HUBINSTALL(name, url, script):
    a_list = []
    script_url = url
    link = kodi.open_url(script_url)
    matcher = script + '-(.+?).zip'
    match = re.compile(matcher).findall(link)
    for version in match:
        a_list.append(version)
    a_list.sort(cmp=ver_cmp, reverse=True)
    newest_v = script + '-' + a_list[0]
    newest_v_url = script_url + script + '-' + a_list[0] + '.zip'
    kodi.log("Looking for : " + newest_v_url)
    path = xbmc.translatePath(os.path.join('special://home', 'addons', 'packages'))
    dp = xbmcgui.DialogProgress()
    dp.create("Starting up", "Initializing ", '', 'Please Stand By....')
    # lib = os.path.join(path, name + '.zip')
    lib = os.path.join(path, newest_v + '.zip')
    addonfolder = xbmc.translatePath(os.path.join('special://', 'home', 'addons'))
    if os.path.exists(lib):
        os.remove(lib)
    downloader.download(newest_v_url, lib, dp, timeout=120)
    try:
        # xbmc.executebuiltin("InstallAddon(%s)" % newest_v)
        extract.all(lib, addonfolder, '')
        time.sleep(2)
    except IOError as e:
        kodi.message("Failed to open required files", "Error is: ", str(e))
        return False
コード例 #4
0
def list_adult():
    if settings.getSetting('adult') == 'true':
        confirm = xbmcgui.Dialog().yesno(
            "Please Confirm",
            "                Please confirm that you are at least 18 years of age.",
            "                                       ", "              ",
            "NO (EXIT)", "YES (ENTER)")
        if confirm:
            url = 'https://indigo.tvaddons.co/installer/sources/xxx.php'
            link = kodi.open_url(url).replace('\r', '').replace('\n',
                                                                '').replace(
                                                                    '\t', '')
            match = re.compile(
                "'name' => '(.+?)'.+?dataUrl' => '(.+?)'.+?xmlUrl' => '(.+?)'.+?downloadUrl' => '(.+?)'"
            ).findall(link)
            for name, dataurl, url, repourl in match:
                lang = 'Adults Only'
                add_2help_dir(name + ' (' + lang + ')', url, 'getaddoninfo',
                              '', fanart, dataurl, repourl)
                if len(match) == 0:
                    return
        else:
            kodi.set_setting('adult', 'false')
            return
        viewsetter.set_view("sets")
コード例 #5
0
def getaddoninfo(url, dataurl, repourl):
    lang = 'Adults Only'
    link = kodi.open_url(url).replace('\r', '').replace('\n', '').replace('\t', '')
    match = re.compile('<addon id="(.+?)".+?ame="(.+?)".+?ersion="(.+?)"').findall(link)
    for adid, name, version in match:
        dload = dataurl + adid + "/" + adid + "-" + version + ".zip"
        addHELPDir(name + ' (' + lang + ')', dload, 'addoninstall', '', fanart, '', 'addon', repourl, '', '')
        viewsetter.set_view("sets")
コード例 #6
0
def get_dir(script, source_url):
    match = re.findall(script + '(-.+?)?.zip', kodi.open_url(source_url))
    match.sort(reverse=True)
    version = match[0] if match else ''
    newest_v_url = source_url + script + version + '.zip'
    lib = os.path.join(packages_path, script + version + '.zip')
    os.remove(lib) if os.path.exists(lib) else ''
    downloader.download(newest_v_url, lib, None, timeout=120, silent=True)
    extract.extract_all(os.path.join(packages_path, lib), addonspath, None)
    addon_able.set_enabled(script)
    xbmc.executebuiltin("UpdateLocalAddons()")
コード例 #7
0
def NEW_Depend(dataurl, script):
    kodi.log("SCRIPT LOOKED FOR IS : " + script)
    if "github" in dataurl:
        kodi.log("Is Github Repo")
        GITHUBGET(script, dataurl)
    else:
        kodi.log("Is Private Repo")
        try:
            a_list = []
            link = kodi.open_url(tvpath)
            if script in link:
                script_url = tvpath + script + '/'
                link = kodi.open_url(script_url)
                matcher = script + '-(.+?).zip'
                match = re.compile(matcher).findall(link)
                for version in match:
                    a_list.append(version)
                a_list.sort(cmp=ver_cmp, reverse=True)
                orglist = script_url + script + '-' + a_list[0] + '.zip'
                kodi.log(' DOWNLOADING TVA FILE to ' + script + '.zip')
                DEPENDINSTALL(script, orglist)
            else:
                link = kodi.open_url(kodi_url)
                if script in link:
                    script_url = kodi_url + script + '/'
                    link = kodi.open_url(script_url)
                    matcher = script + '-(.+?).zip'
                    match = re.compile(matcher).findall(link)
                    for version in match:
                        a_list.append(version)
                    a_list.sort(cmp=ver_cmp, reverse=True)
                    orglist = script_url + script + '-' + a_list[0] + '.zip'
                    kodi.log(' DOWNLOADING ORG FILE to ' + script + '.zip')
                    DEPENDINSTALL(script, orglist)
                else:
                    orglist = dataurl + script + '/' + script + '-'
                    try:
                        script_urls = dataurl + script + '/'
                        link = kodi.open_url(script_urls)
                        if not link:
                            script_url = script_urls.replace("raw.", "").replace("/master/", "/tree/master/")
                            link = kodi.open_url(script_url)
                        if "Invalid request" in link:
                            kodi.log("DEAD REPO LOCATION = " + dataurl)
                        else:
                            matcher = script + '-(.+?).zip'
                            match = re.compile(matcher).findall(link)
                            for version in match:
                                a_list.append(version)
                            a_list.sort(cmp=ver_cmp, reverse=True)
                            orglist += a_list[0] + '.zip'
                            kodi.log(' DOWNLOADING NATIVE to ' + script + '.zip')
                            DEPENDINSTALL(script, orglist)
                    except Exception as e:
                        kodi.log(str(e))
                        kodi.log("No local depend found = " + script + " Unfound URL is " + orglist)
        except Exception as e:
            kodi.log(str(e))
            kodi.log("FAILED TO GET DEPENDS")
            traceback.print_exc(file=sys.stdout)
コード例 #8
0
def get_github(script, dataurl):
    try:
        link = kodi.open_url(tvpath)
        if script in link:
            script_url = tvpath + script + '/'
            version, orglist = get_url(script, script_url, link)
            kodi.log(' DOWNLOADING TVA FILE to ' + script + version + '.zip')
            depend_install(script, orglist)
        else:
            link = kodi.open_url(kodi_url)
            if script in link:
                script_url = kodi_url + script + '/'
                version, orglist = get_url(script, script_url, link)
                kodi.log(' DOWNLOADING KODI FILE to ' + script + version +
                         '.zip')
                depend_install(script, orglist)
            else:
                fix_urls = dataurl + script + '/'
                fixed_url = fix_urls.replace("raw/", "").replace("/master/", "/blob/master/") \
                    .replace("githubusercontent", "github")
                link = kodi.open_url(fixed_url)
                if link and "Invalid request" not in link:
                    version, orglist = get_url(script, fixed_url, link)
                    kodi.log(' DOWNLOADING NATIVE to ' + script + version +
                             '.zip')
                    depend_install(script, orglist)
                else:
                    fixed_url = fix_urls.replace("raw/", "").replace("/master/", "/tree/master/") \
                        .replace("githubusercontent", "github")
                    link = kodi.open_url(fixed_url)
                    if link and "Invalid request" not in link:
                        version, orglist = get_url(script, fixed_url, link)
                        kodi.log(' DOWNLOADING NATIVE to ' + script + version +
                                 '.zip')
                        depend_install(script, orglist)
                    else:
                        kodi.log("DEAD REPO LOCATION = " + dataurl)
    except Exception as e:
        kodi.log("Failed to find required files " + str(e))
        traceback.print_exc(file=sys.stdout)
コード例 #9
0
def keymaps():
    try:
        link = kodi.open_url(Keymaps_URL).replace('\n', '').replace('\r', '')
    except IOError:
        kodi.addDir("No Keymaps Available", '', '', artwork + 'unkeymap.png')
        kodi.log('Could not open keymaps URL')
        return
    match = re.compile('name="(.+?)".+?rl="(.+?)".+?mg="(.+?)".+?anart="(.+?)".+?ersion="(.+?)".+?ash="(.+?)"').findall(
        link)
    if os.path.isfile(KEYBOARD_FILE):
        kodi.addDir("Remove Current Keymap Configuration", '', 'uninstall_keymap', artwork + 'unkeymap.png')
    for name, url, iconimage, fanart, version, description in match:
        name = "[COLOR white][B]" + name + "[/B][/COLOR]"
        kodi.addDir(name, url, 'install_keymap', artwork + 'keymapadd.png')
    viewsetter.set_view("files")
コード例 #10
0
def hub_install(script, script_url, silent=False, dp=None):
    version, newest_v_url = get_url(script, script_url, kodi.open_url(script_url))
    kodi.log("Looking for : " + newest_v_url)
    if not silent:
        dp = xbmcgui.DialogProgress()
        dp.create("Starting up", "Initializing ", '', 'Please Stand By....')
    lib = os.path.join(packages_path, script + version + '.zip')
    os.remove(lib) if os.path.exists(lib) else ''
    downloader.download(newest_v_url, lib, dp, timeout=120)
    try:
        extract.extract_all(lib, addon_folder, None)
        time.sleep(2)
    except IOError as e:
        kodi.message("Failed to open required files", "Error is: ", str(e))
        return False
コード例 #11
0
def GITHUBGET(script, dataurl):
    try:
        fix_urls = dataurl + script + '/'
        fixed_url = fix_urls.replace("raw/", "").replace("/master/", "/blob/master/")\
            .replace("githubusercontent", "github")
        a_list = []
        link = kodi.open_url(tvpath)
        if script in link:
            script_url = tvpath + script + '/'
            link = kodi.open_url(script_url)
            matcher = script + '-(.+?).zip'
            match = re.compile(matcher).findall(link)
            for version in match:
                a_list.append(version)
            a_list.sort(cmp=ver_cmp, reverse=True)
            orglist = script_url + script + '-' + a_list[0] + '.zip'
            kodi.log(' DOWNLOADING TVA FILE to ' + script + '.zip')
            DEPENDINSTALL(script, orglist)
        else:
            link = kodi.open_url(kodi_url)
            if script in link:
                script_url = kodi_url + script + '/'
                link = kodi.open_url(script_url)
                matcher = script + '-(.+?).zip'
                match = re.compile(matcher).findall(link)
                for version in match:
                    a_list.append(version)
                a_list.sort(cmp=ver_cmp, reverse=True)
                orglist = script_url + script + '-' + a_list[0] + '.zip'
                kodi.log(' DOWNLOADING ORG FILE to ' + script + '.zip')
                # kodi.log('From: '+orglist)
                DEPENDINSTALL(script, orglist)
            else:
                try:
                    link = kodi.open_url(fixed_url)
                    if link:
                        matcher = script + '-(.+?).zip'
                        match = re.compile(matcher).findall(link)
                        for version in match:
                            a_list.append(version)
                        # a_list.sort(cmp=ver_cmp, reverse=True)
                        a_list.sort(reverse=True)
                        orglist = dataurl + script + '/' + script + '-' + a_list[0] + '.zip'
                        # kodi.log(' DOWNLOADING to ' + script + '.zip')
                        DEPENDINSTALL(script, orglist)
                        kodi.log("TRYING NATIVE LOCATION")
                    if "Invalid request" in link:
                        kodi.log("DEAD REPO LOCATION = " + dataurl)
                    else:
                        matcher = script + '-(.+?).zip'
                        match = re.compile(matcher).findall(link)
                        for version in match:
                            a_list.append(version)
                        # a_list.sort(cmp=ver_cmp, reverse=True)
                        a_list.sort(reverse=True)
                        orglist = dataurl + script + '/' + script + '-' + a_list[0] + '.zip'
                        kodi.log(' DOWNLOADING NATIVE to ' + script + '.zip')
                        DEPENDINSTALL(script, orglist)
                except Exception as e:
                    kodi.log("Could not find required files " + str(e))
                    traceback.print_exc(file=sys.stdout)
    except Exception as e:
        kodi.log("Failed to find required files " + str(e))
        traceback.print_exc(file=sys.stdout)