コード例 #1
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def List_Indigo_Adult(url):
    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:

            link = 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'
                add2HELPDir(name + ' (' + lang + ')', url, 'getaddoninfo', '',
                            fanart, dataurl, repourl)
                #addHELPDir(name+' ('+lang+')',url,'getaddoninfo','',fanart,'',dataurl,repourl,'','')
                if len(match) == 0:
                    return
        else:
            kodi.set_setting('adult', 'false')
            return
        viewsetter.set_view("sets")
コード例 #2
0
def fullspeedtest():
    # speed_test = base64.b64decode("aHR0cDovL2luZGlnby50dmFkZG9ucy5hZy9zcGVlZHRlc3Qvc3BlZWR0ZXN0ZmlsZS50eHQ=")
    speed_test = 'http://www.engineerhammad.com/2015/04/Download-Test-Files.html'
    try:
        # link = OPEN_URL(speed_test)
        link = kodi.read_file(speed_test)
        match = re.findall('href="([^"]*)".+src="([^"]*)"[^\d]*(\d+\s[^b]*b)',
                           link)
        for m_url, m_iconimage, m_name in reversed(match):
            m_iconimage = artwork + str(m_name).replace(' ',
                                                        '').lower() + '.png'
            if 'mb' in m_iconimage and not os.path.isfile(m_iconimage):
                m_iconimage = m_iconimage.replace('mb', '')
            if m_name not in '10 Gb':
                kodi.add_item('[COLOR ghostwhite]' + m_name + '[/COLOR]',
                              m_url,
                              "runtest",
                              m_iconimage,
                              description='Test with a ' + m_name + ' file')
    except Exception as e:
        kodi.log(str(e))
        import traceback
        traceback.print_exc(file=sys.stdout)
        kodi.add_item('[COLOR ghostwhite]Speed Test is unavailable[/COLOR]',
                      '',
                      "",
                      artwork + 'speed_test.png',
                      description='')
    viewsetter.set_view("sets")
コード例 #3
0
def what_sports():
    # #######  AMERICAN  ###############
    kodi.addItem('[COLOR blue][B]US Sports[/COLOR][/B]', '', '', artwork + 'icon.png',
                 description='[COLOR gold]Sports from around the US[/COLOR]')
    link = kodi.read_file('https://www.tvguide.com/sports/live-today/')
    match = re.findall('(?s)program-link">([^<]*)<.+?info">([^\|]*) \| ([^<]*)<.+?description">([^<]*)', link)
    for m_name, m_time, m_channel, m_description in match:
        kodi.addItem('[COLOR white][B]%s[/COLOR][/B] - [COLOR gold]%s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
                     % (m_time.lower(), name_cleaner(m_name), m_channel), '', '', artwork + 'icon.png',
                     description='[COLOR gold][B]%s - %s[/COLOR][/B][COLOR white] - %s | %s[/COLOR]'
                                 % (m_description, name_cleaner(m_name), m_time.lower(), m_channel))
    # #######  UK  ###############
    kodi.addItem('[COLOR blue][B]UK Sports[/COLOR][/B]', '', '', artwork + 'icon.png',
                 description='[COLOR gold]Sports from around the UK[/COLOR]')
    link = kodi.read_file('http://www.wheresthematch.com/tv/home.asp').replace('\r', '').replace('\n', '').replace('\t', '')
    pattern ='(?s)class="fixture">.+?href="http:\/\/[^\/]*\/([^\/]*)\/[^\.]*.asp">[^>]*>([^<]+)<.+?asp.+?">([^<]*)<' \
             '.+?WHEN:<\/strong>([^&]*&).+?\/strong>([^<]*)'
    match = re.findall(pattern, link)
    for game, name1, name2, gametime, channel in match:
        gametime = re.search('at([^&]*)', gametime).group(1).replace('&', '').replace(' ', '')
        kodi.addItem('[COLOR white][B]%s[/COLOR][/B][COLOR gold] - %s - %s vs %s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
                     % (gametime, game, name1, name2, channel), '', '', artwork+'icon.png',
                     description='[COLOR gold][B]%s - %s vs %s[/COLOR][/B][COLOR white] - %s | %s[/COLOR]'
                                 % (game, name1, name2, gametime, channel))
    viewsetter.set_view("tvshows")
コード例 #4
0
ファイル: backup.py プロジェクト: enursha101/xbmc-addon
def BACKUPMENU():
    kodi.addItem(
        '[COLOR white]Select Backup Location[/COLOR]',
        'url',
        'display_backup_settings',
        '',
        description=
        "Choose the location to which you wish to store your backups!")
    kodi.addItem(
        '[COLOR white]Full Backup (All Files and Folders Included)[/COLOR]',
        'url',
        'full_backup',
        '',
        description="Backup everything possible!")
    kodi.addItem(
        '[COLOR white]Backup No Database (No Database Files Included)[/COLOR]',
        'url',
        'small_backup',
        '',
        description=
        "Backup your Kodi configuration without unnecessary database files!")
    kodi.addDir('[COLOR white]Restore Backup[/COLOR]',
                '',
                'do_backup_restore',
                '',
                description="Restore your Kodi configuration from a backup!")
    kodi.addDir('[COLOR white]Delete Backup[/COLOR]',
                '',
                'del_backup',
                '',
                description="Erase any backups you have saved!")

    viewsetter.set_view("sets")
コード例 #5
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")
コード例 #6
0
def fullspeedtest():
    # speed_test = base64.b64decode("aHR0cDovL2luZGlnby50dmFkZG9ucy5hZy9zcGVlZHRlc3Qvc3BlZWR0ZXN0ZmlsZS50eHQ=")
    speed_test = 'http://www.engineerhammad.com/2015/04/Download-Test-Files.html'
    try:
        link = OPEN_URL(speed_test)
        match = re.findall('href="([^"]*)".+src="([^"]*)".+\n.+?(\d+\s[^b]*b)',
                           link)
        for url, iconimage, name in reversed(match):
            iconimage = artwork + str(name).replace(' ', '').lower() + '.png'
            if 'mb' in iconimage and not os.path.isfile(iconimage):
                iconimage = iconimage.replace('mb', '')
            kodi.addItem('[COLOR ghostwhite]' + name + '[/COLOR]',
                         url,
                         "runtest",
                         iconimage,
                         description='Test with a ' + name + ' file')
        # link = OPEN_URL(speed_test).replace('\n', '').replace('\r', '')
        # match = re.compile('name="(.+?)".+?rl="(.+?)".+?mg="(.+?)".+?anart="(.+?)".+?ersion="(.+?)"').findall(link)
        # for name, url, iconimage, fanart, description in match:
        #     kodi.addItem('[COLOR ghostwhite]' + name + " | " + description + '[/COLOR]', url, "runtest", artwork + 'speed_test.png', description=description)
    except:
        kodi.addItem('[COLOR ghostwhite]Speed Test is unavailable[/COLOR]',
                     '',
                     "",
                     artwork + 'speed_test.png',
                     description='')
    viewsetter.set_view("sets")
コード例 #7
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def INTERNATIONAL(url):
    if not '://' in url: url = base_url2 + url
    link = OPEN_URL(url)
    match = GetListItems(link)
    CMi = []
    viewsetter.set_view("sets")
    #CMi.append(['Information',"XBMC.Action(Info)"]);
    if 'repository' in url: ToMode = 'interrepolist'
    else: ToMode = 'addonlist'
    for url, image, name, in match:
        if name == "Repositories":
            kodi.addDir(
                'International Repositories',
                base_url + 'category/international/repositories',
                'interlist',
                artwork + 'world.png',
                description="Foreign language addons from across the globe!")
        else:

            iconimage = base_url + image
            add2HELPDir(name, url, ToMode, iconimage, fanart, '', 'addon', CMi,
                        True)
    nmatch = GetListNextPage(link)
    if len(nmatch) > 0:
        kodi.addDir('Next Page', (nmatch[0]), 'interrepolist',
                    getArtworkJ('NextPage'))
    viewsetter.set_view("sets")
    return
コード例 #8
0
def get_search_results(title):
    link = api.search_addons(title)
    # my_list = sorted(link, key=lambda k: k['name'].upper())
    # for e in my_list:
    for e in link:
        name = e['name']
        repourl = e['repodlpath']
        path = e['addon_zip_path']
        description = e['description']
        icon = path.rsplit('/', 1)[0] + '/icon.png'
        l_fanart = path.rsplit('/', 1)[0] + '/fanart.jpg'

        if e['extension_point'] != 'xbmc.addon.repository':
            try:
                add_help_dir(name,
                             path,
                             'addoninstall',
                             icon,
                             l_fanart,
                             description,
                             'addon',
                             repourl,
                             '',
                             '',
                             CMi,
                             contextreplace=False)
            except Exception as e:
                kodi.log(str(e))
    viewsetter.set_view("sets")
コード例 #9
0
def what_sports():
    # #######  AMERICAN  ###############
    kodi.add_item('[COLOR blue][B]US Sports[/COLOR][/B]',
                  '',
                  '',
                  artwork + 'icon.png',
                  description='[COLOR gold]Sports from around the US[/COLOR]')
    link = kodi.read_file('https://www.tvguide.com/sports/live-today/')
    match1 = re.search('(?s)"button-picker-divider"(.+?</html>)', link)
    if match1:
        pattern = '(?s)title="([^"]*)".+?-link.+?item">([^<]*)<.+?item">([^<]*)<.+?font-base">([^<]*)<'
        for m_name, m_time, m_channel, m_description in re.findall(
                pattern, match1.group(1)):
            kodi.add_item(
                '[COLOR white][B]%s[/COLOR][/B] - [COLOR gold]%s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
                % (m_time.lower(), name_cleaner(m_name), m_channel),
                '',
                '',
                artwork + 'icon.png',
                description=
                '[COLOR gold][B]%s - %s[/COLOR][/B][COLOR white] - %s | %s[/COLOR]'
                % (m_description, name_cleaner(m_name), m_time.lower(),
                   m_channel))

    # #######  UK  ###############
    kodi.add_item('[COLOR blue][B]UK Sports[/COLOR][/B]',
                  '',
                  '',
                  artwork + 'icon.png',
                  description='[COLOR gold]Sports from around the UK[/COLOR]')
    link = kodi.read_file('http://www.wheresthematch.com/')
    pattern = '(?s)fixture-details">(.+?)t-details">(.+?)-name">(.+?)l-details">(.+?)</td>'
    for m_game, m_time, m_league, m_channels in re.findall(pattern, link):
        g_time = re.search('<strong>([^<]*)<', m_time)
        g_time = g_time.group(1).replace('00:', '12:').strip('0').replace(
            ' ', '') if g_time else ''
        g_league = re.search('<span>([^<]*)<', m_league)
        g_league = g_league.group(1).rstrip() if g_league else ''
        g_name = ''
        for team1, team2 in re.findall(
                '(?s).asp">[^>]*>([^<]+)<.+?asp.+?">([^<]*)', m_game):
            g_name = '%s vs %s' % (team1.strip(),
                                   team2.strip()) if m_game else ''
        channels = ''
        for channel in re.findall('title=".+?on ([^"]*)"', m_channels):
            for chan in ('&', 'tv app', 'sky'):
                channel = channel.replace(
                    'on ', '') if chan.lower() not in channel.lower() else ''
            channels += '' + channel if not channels else ', ' + channel if channel else ''
        kodi.add_item(
            '[COLOR white][B]%s[/COLOR][/B] - [COLOR gold]%s - %s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
            % (g_time, g_league, g_name, channels),
            '',
            '',
            artwork + 'icon.png',
            description=
            '[COLOR gold][B]%s - %s[/COLOR][/B] - [COLOR white]%s | %s[/COLOR]'
            % (g_name, g_league, g_time, channels))
    viewsetter.set_view("tvshows")
コード例 #10
0
def getaddoninfo(url, dataurl, repourl):
    lang = 'Adults Only'
    link = 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")
コード例 #11
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")
コード例 #12
0
def INTERNATIONAL_ADDONS():
    imurl = 'https://www.tvaddons.co/kodi-addons/images/categories/international/'
    link = api.get_langs()
    if link:
        # for e in link:
        # name=e['languages']
        # kodi.log(name)
        l_vert = {
            "af": "African",
            "ar": "Arabic",
            # "cn": "Chinese",
            "zh": "Chinese",
            "cs": "Czech",
            "da": "Danish",
            "nl": "Dutch",
            "ph": "Filipino",
            "fi": "Finnish",
            "fr": "French",
            "de": "German",
            "el": "Greek",
            # "iw": "Hebrew",.execute
            "he": "Hebrew",
            "hu": "Hungarian",
            "is": "Icelandic",
            "hi": "Indian",
            "ga": "Irish",
            "it": "Italian",
            "ja": "Japanese",
            "ko": "Korean",
            "mn": "Mongolian",
            "ne": "Nepali",
            "no": "Norwegian",
            "ur": "Pakistani",
            "pl": "Polish",
            "pt": "Portuguese",
            "ro": "Romanian",
            "ru": "Russian",
            "ms": "Singapore",
            "es": "Spanish",
            "sv": "Swedish",
            "ta": "Tamil",
            "th": "Thai",
            "tr": "Turkish",
            "vi": "Vietnamese"
        }
        for key in sorted(l_vert.items(), key=lambda key: key[1]):
            try:
                kodi.addDir(
                    key[1],
                    key[0],
                    'interaddonslist',
                    imurl + key[1].lower() + '.png',
                    description="Foreign language addons from across the globe!"
                )
            except:
                pass
            viewsetter.set_view("sets")
コード例 #13
0
def fullspeedtest():

    SpeedTest = base64.b64decode("aHR0cDovL2luZGlnby50dmFkZG9ucy5hZy9zcGVlZHRlc3Qvc3BlZWR0ZXN0ZmlsZS50eHQ=")
    link = OPEN_URL(SpeedTest).replace('\n','').replace('\r','')
    match = re.compile('name="(.+?)".+?rl="(.+?)".+?mg="(.+?)".+?anart="(.+?)".+?ersion="(.+?)"').findall(link)
    for name,url,iconimage,fanart,description in match:
        kodi.addItem('[COLOR ghostwhite]' + name + " | " + description + '[/COLOR]',url,"runtest",artwork+'speed_test.png',description=description)

    viewsetter.set_view("sets")
コード例 #14
0
ファイル: maintool.py プロジェクト: krzysztofuu/Bonitillonew
def tool_menu():

    kodi.addItem("Clear Cache",
                 '',
                 'clearcache',
                 artwork + 'clear_cache.png',
                 description="Clear your device cache!")
    kodi.addItem("Purge Packages",
                 '',
                 'purgepackages',
                 artwork + 'purge_packages.png',
                 description="Erase old addon update files!")
    kodi.addItem("Wipe Addons",
                 '',
                 'wipeaddons',
                 artwork + 'wipe_addons.png',
                 description="Erase all your Kodi addons in one shot!")
    kodi.addDir(
        "Install Custom Keymaps",
        '',
        'customkeys',
        artwork + 'custom_keymaps.png',
        description=
        "Get the best experience out of your device-specific remote control!")
    if kodi.get_setting('automain') == 'true':
        kodi.addItem(
            "Disable Auto Maintenance ",
            '',
            'disablemain',
            artwork + 'disable_AM.png',
            description=
            "Disable the periodic automated erasing of cache and packages!")
    if kodi.get_setting('automain') == 'false':
        kodi.addItem(
            "Enable Auto Maintenance ",
            '',
            'enablemain',
            artwork + 'enable_AM.png',
            description=
            "Enable the periodic automated erasing of cache and packages!")
    if kodi.get_setting('scriptblock') == 'true':
        kodi.addItem(
            "Disable Malicious Scripts Blocker",
            '',
            'disableblocker',
            artwork + 'disable_MSB.png',
            description="Disable protection against malicious scripts!")
    if kodi.get_setting('scriptblock') == 'false':
        kodi.addItem(
            "Enable Malicious Scripts Blocker",
            '',
            'enableblocker',
            artwork + 'enable_MSB.png',
            description="Enable protection against malicious scripts!")

    viewsetter.set_view("sets")
コード例 #15
0
def main_index():
    xbmc.executebuiltin("UpdateAddonRepos")
    kodi.add_item("Git Browser", '', 'github_main', artwork + 'github_browser.png',
                 description="Search for repositories hosted on GitHub.")
    try:
        if len(str(api.get_all_addons())) < 20:
            raise ValueError('API is less than 20')
        kodi.add_dir('Search by: Addon/Author', '', 'searchaddon', artwork + 'search.png',
                    description="Search for addons by Name or Author")
        if settings.getSetting('featured') == 'true':
            kodi.add_dir('Featured Addons', 'featured', 'addonlist', artwork + 'featured.png',
                        description="The most popular Kodi addons!")
        # if settings.getSetting('livetv') == 'true':
        #     kodi.add_dir('Live TV Addons', 'live', 'addonlist', artwork + 'livetv.png',
        #                 description="The most popular live TV addons!")
        # if settings.getSetting('sports') == 'true':
        #     kodi.add_dir('Sports Addons', 'sports', 'addonlist', artwork + 'sports.png',
        #                 description="The most popular sports addons!")
        if settings.getSetting('video') == 'true':
            kodi.add_dir('Video Addons', 'video', 'addonlist', artwork + 'video.png',
                        description="Every video addon in existence!")
        if settings.getSetting('audio') == 'true':
            kodi.add_dir('Audio Addons', 'audio', 'addonlist', artwork + 'audio.png',
                        description="Find addons to listen to music!")
        if settings.getSetting('program') == 'true':
            kodi.add_dir('Program Addons', 'executable', 'addonlist', artwork + 'program.png',
                        description="Every program addon you can imagine!")
        # if settings.getSetting('playlist') == 'true':
        #     kodi.add_dir('Playlist Addons', 'playlists', 'addonlist', artwork + 'playlists.png',
        #                 description="The most popular playlist addons!")
        if settings.getSetting('services') == 'true':
            kodi.add_dir('Service Addons', 'service', 'addonlist', artwork + 'service.png')
        if settings.getSetting('skincat') == 'true':
            kodi.add_dir('Kodi Skins', 'skins', 'addonlist', artwork + 'kodi_skins.png',
                        description="Change up your look!")
        if settings.getSetting('world') == 'true':
            kodi.add_dir('International Addons', 'international', 'interlist', artwork + 'world.png',
                        description="Foreign language addons and repos from across the globe!")
        if settings.getSetting('adult') == 'true':
            kodi.add_dir('Adult Addons', 'xxx', 'adultlist', artwork + 'adult.png',
                        description="Must be 18 years or older! This menu can be disabled from within Add-on Settings.")
        # if settings.getSetting('repositories') == 'true':
        # 	kodi.add_dir('Repositories','repositories', 'addonlist', artwork + 'repositories.png',
        # 				description="Browse addons by repository!")
    except Exception as e:
        kodi.log(str(e))
        traceback.print_exc(file=sys.stdout)
        kodi.add_item("Addon Listing Is Temporarily Unavailable", '', '', artwork1 + 'addon_installer.png',
                     description="The Addon Listing Is Temporarily Unavailable")
    # kodi.add_item('Enable Live Streaming', 'None', 'EnableRTMP', artwork + 'enablertmp.png',
    # 			 description="Enable RTMP InputStream and InputStream Adaptive modules for Live Streaming.")
    kodi.add_item('Official OpenSubtitles Addon', openSub, 'addopensub', artwork + 'opensubicon.png',
                 description="Install Official OpenSubtitles Addon!")
    kodi.add_dir('Install ZIP from Online Link', '', 'urlzip', artwork + 'onlinesource.png',
                description='Manually download and install addons or repositories from the web.')
    viewsetter.set_view("sets")
コード例 #16
0
def rtmp_lib():
    liblist = "http://indigo.tvaddons.ag/librtmp/rtmplist.txt"
    link = OPEN_URL(liblist).replace('\n','').replace('\r','')
    match = re.compile('name="(.+?)".+?rl="(.+?)".+?ersion="(.+?)"').findall(link)
    kodi.addItem('[COLOR gold][B]Files Will Be Donwloaded to the Kodi Home directory, You Will Need To Manually Install From There.[/COLOR][/B]','',100,'','','')
    #kodi.addItem('[COLOR gold]-----------------------------------------------------------[/COLOR]','',100,'','','')
    for name,url,description in match:
        kodi.addDir(name,url,"lib_installer",artwork+'icon.png')

    viewsetter.set_view("sets")
コード例 #17
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def SEARCHADDON(url):  #Start Search Function
    searchUrl = url
    vq = _get_keyboard(heading="Search add-ons")
    if (not vq):
        return False, 0  # if blank or the user cancelled the keyboard, return
    title = urllib.quote_plus(vq)
    searchUrl += title + '&criteria=title'
    print "Searching URL: " + searchUrl
    List_Addons(searchUrl)
    viewsetter.set_view("sets")
コード例 #18
0
def what_sports():
    # #######  AMERICAN  ###############
    kodi.addItem('[COLOR blue][B]US Sports[/COLOR][/B]',
                 '',
                 '',
                 artwork + 'icon.png',
                 description='[COLOR gold]Sports from around the US[/COLOR]')
    link = kodi.read_file('https://www.tvguide.com/sports/live-today/')
    pattern = '(?s)program-link">([^<]*)<.+?info">([^\|]*)\| ([^<]*)<.+?description">([^<]*)'
    for m_name, m_time, m_channel, m_description in re.findall(pattern, link):
        kodi.addItem(
            '[COLOR white][B]%s[/COLOR][/B] - [COLOR gold]%s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
            % (m_time.lower(), name_cleaner(m_name), m_channel),
            '',
            '',
            artwork + 'icon.png',
            description=
            '[COLOR gold][B]%s - %s[/COLOR][/B][COLOR white] - %s | %s[/COLOR]'
            % (m_description, name_cleaner(m_name), m_time.lower(), m_channel))

    # #######  UK  ###############
    kodi.addItem('[COLOR blue][B]UK Sports[/COLOR][/B]',
                 '',
                 '',
                 artwork + 'icon.png',
                 description='[COLOR gold]Sports from around the UK[/COLOR]')
    link = kodi.read_file('http://www.wheresthematch.com/').replace(
        '\r', '').replace('\n', '').replace('\t', '')
    pattern = '(?s)fixture-details">(.+?)t-details">(.+?)-name">(.+?)l-details">(.+?).png'
    for m_game, m_time, m_league, m_channels in re.findall(pattern, link):
        g_time = re.search('<strong>([^<]*)', m_time)
        g_time = g_time.group(1).strip('0').replace(' ', '') if g_time else ''
        league = re.search('<span>([^<]*)', m_league)
        g_league = ' - ' + league.group(1) if league else ''
        g_name = ''
        for team1, team2 in re.findall(
                '(?s).asp">[^>]*>([^<]+)<.+?asp.+?">([^<]*)', m_game):
            g_name = '- %s vs %s' % (team1, team2) if m_game else ''
        if '<strong class=' in m_game:
            game = re.search('<strong class="">([^<]*)', m_game)
            g_name = ' - ' + game.group(
                1) if game and league != game.group(1) else ''
        channels = ''
        for channel in re.findall('-name">([^<]*)', m_channels):
            channels += ' ' + channel if not channels else ', ' + channel
        kodi.addItem(
            '[COLOR white][B]%s[/COLOR][/B][COLOR gold]%s %s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
            % (g_time, g_league, g_name, channels),
            '',
            '',
            artwork + 'icon.png',
            description=
            '[COLOR gold][B]%s - %s[/COLOR][/B][COLOR white] - %s | %s[/COLOR]'
            % (g_time, g_name, g_league, channels))
    viewsetter.set_view("tvshows")
コード例 #19
0
def github_main(url):
    github_instructions()
    kodi.addDir('Search by GitHub Username', 'username', 'github_search', artwork + 'search_by_username.png',
                description="Search for addons by Username. Ex. tvaddonsco")
    kodi.addDir('Search by GitHub Repository Title', 'repo', 'github_search', artwork + 'search_by_repository_title.png',
                description="Search for addons by Repository Name")
    kodi.addDir('Search GitHub by Addon ID', 'addon_id', 'github_search', artwork + 'searchaddonid.png',
                description="Search for addons by AddonID. Ex. plugin.video.youtube (Advanced)")
    #kodi.addItem('Update Addons', '', 'github_update', artwork + 'update_github.png',
    #           description="Update GitHub Addons")
    viewsetter.set_view("sets")
コード例 #20
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def List_Indigo_WorldAlone(url):
    if not '://' in url: url = base_url2 + url
    link = OPEN_URL(url).replace('\r', '').replace('\n', '').replace('\t', '')
    match = re.compile(
        "'name' => '(.+?)','language' => '(.+?)'.+?downloadUrl' => '(.+?)'"
    ).findall(link)
    if len(match) == 0: return
    for name, lang, dload in match:
        lang = lang.capitalize()
        addHELPDir(name + ' (' + lang + ')', dload, 'addoninstall', '', fanart,
                   '', 'addon', 'none', '', '')
    viewsetter.set_view("sets")
コード例 #21
0
ファイル: backup.py プロジェクト: CYBERxNUKE/xbmc-addon
def backup_menu():
    kodi.addItem('[COLOR white]Select Backup Location[/COLOR]', 'url', 'display_backup_settings', '',
                 description="Choose the location to which you wish to store your backups!")
    kodi.addItem('[COLOR white]Full Backup (All Files and Folders Included)[/COLOR]', 'url', 'full_backup', '',
                 description="Backup everything possible!")
    kodi.addItem('[COLOR white]Backup No Database (No Database Files Included)[/COLOR]', 'url', 'small_backup', '',
                 description="Backup your Kodi configuration without unnecessary database files!")
    kodi.addDir('[COLOR white]Restore Backup[/COLOR]', '', 'do_backup_restore', '',
                description="Restore your Kodi configuration from a backup!")
    kodi.addDir('[COLOR white]Delete Backup[/COLOR]', '', 'del_backup', '',
                description="Erase any backups you have saved!")
    viewsetter.set_view("sets")
コード例 #22
0
ファイル: default.py プロジェクト: CYBERxNUKE/xbmc-addon
def rtmp_lib():
    liblist = "http://indigo.tvaddons.co/librtmp/rtmplist.txt"
    try:
        link = OPEN_URL(liblist).replace('\n', '').replace('\r', '')
    except:
        kodi.addItem('[COLOR gold][B]This service is currently unavailable.[/COLOR][/B]', '', 100, '', '', '')
        return
    match = re.compile('name="(.+?)".+?rl="(.+?)".+?ersion="(.+?)"').findall(link)
    kodi.addItem('[COLOR gold][B]Files Will Be Donwloaded to the Kodi Home directory, You Will Need To Manually Install From There.[/COLOR][/B]', '', 100, '', '', '')
    # kodi.addItem('[COLOR gold]---------------------------------------------------------[/COLOR]', '', 100, '',' ', '')
    for name, url, description in match:
        kodi.addDir(name, url, "lib_installer", artwork + 'icon.png')
    viewsetter.set_view("sets")
コード例 #23
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")
コード例 #24
0
def keymaps():
    try:
        link = OPEN_URL(Keymaps_URL).replace('\n', '').replace('\r', '')
    except:
        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:
        kodi.addDir(name, url, 'install_keymap', artwork + 'keymapadd.png')
        name = "[COLOR white][B]" + name + "[/B][/COLOR]"
    viewsetter.set_view("files")
コード例 #25
0
def rtmp_lib():
    liblist = "http://indigo.tvaddons.co/librtmp/rtmplist.txt"
    try:
        link = OPEN_URL(liblist).replace('\n', '').replace('\r', '')
    except Exception as e:
        kodi.log(str(e))
        kodi.addItem('[COLOR gold][B]This service is currently unavailable.[/COLOR][/B]', '', 100, '', '', '')
        return
    match = re.compile('name="(.+?)".+?rl="(.+?)".+?ersion="(.+?)"').findall(link)
    kodi.addItem('[COLOR gold][B]Files Will Be Donwloaded to the Kodi Home directory,'
                 'You Will Need To Manually Install From There.[/COLOR][/B]', '', 100, '', '', '')
    # kodi.addItem('[COLOR gold]---------------------------------------------------------[/COLOR]', '', 100, '',' ', '')
    for m_name, m_url, m_description in match:
        kodi.addDir(m_name, m_url, "lib_installer", artwork + 'icon.png')
    viewsetter.set_view("sets")
コード例 #26
0
ファイル: default.py プロジェクト: CYBERxNUKE/xbmc-addon
def what_sports():
    link = OPEN_URL('http://www.wheresthematch.com/tv/home.asp').replace('\r', '').replace('\n', '').replace('\t', '')
    match = re.compile('href="http://www.wheresthematch.com/fixtures/(.+?).asp.+?class="">(.+?)</em> <em class="">v</em> <em class="">(.+?)</em>.+?time-channel ">(.+?)</span>').findall(link)
    for game, name1, name2, gametime in match:
        kodi.addItem('[COLOR gold][B]' + game + ' ' + '[/COLOR][/B]- [COLOR white]' + name1 + ' vs ' + name2 + ' - ' + gametime + ' [/COLOR]', '', '', artwork + 'icon.png',
                     description='[COLOR gold][B]'+game+' '+'[/COLOR][/B]- [COLOR white]'+name1+' vs '+name2+' - '+gametime+' [/COLOR]')
        xbmc.executebuiltin("Container.SetViewMode(55)")
    # #######AMERICAN###############
    link = OPEN_URL('http://www.tvguide.com/sports/live-today/').replace('\r', '').replace('\n', '').replace('\t', '')
    sections = dom_parser.parse_dom(link, 'div', {'class': "listings-program-content"})
    listings = dom_parser.parse_dom(sections, 'span', {'class': "listings-program-link"})
    for stuff in sections:
        match = re.compile('class="listings-program-link">(.+?)</span></h3>.+?class="listings-program-link">.+?listings-program-airing-info">(.+?)</p><p.+?description">(.+?)</p>').findall(stuff)
        for name, time, description in match:
            kodi.addItem('[COLOR gold][B]' + name_cleaner(name) + ' ' + '[/COLOR][/B]- [COLOR white]' + ' - ' + time + ' [/COLOR]','', '', artwork + 'icon.png',description='[COLOR gold][B]' + name_cleaner(name) + ' ' + '[/COLOR][/B]- [COLOR white]' + ' - ' + time + ' [/COLOR]')
    viewsetter.set_view("files")
コード例 #27
0
def what_sports():
    link = OPEN_URL('http://www.wheresthematch.com/tv/home.asp').replace('\r', '').replace('\n', '').replace('\t', '')
    match = re.compile('href="http://www.wheresthematch.com/fixtures/(.+?).asp.+?class="">(.+?)</em> <em class="">v</em> <em class="">(.+?)</em>.+?time-channel ">(.+?)</span>').findall(link)
    for game, name1, name2, gametime in match:
        kodi.addItem('[COLOR gold][B]' + game + ' ' + '[/COLOR][/B]- [COLOR white]' + name1 + ' vs ' + name2 + ' - ' + gametime + ' [/COLOR]', '', '', artwork + 'icon.png',
                     description='[COLOR gold][B]'+game+' '+'[/COLOR][/B]- [COLOR white]'+name1+' vs '+name2+' - '+gametime+' [/COLOR]')
        xbmc.executebuiltin("Container.SetViewMode(55)")
    # #######AMERICAN###############
    link = OPEN_URL('http://www.tvguide.com/sports/live-today/').replace('\r', '').replace('\n', '').replace('\t', '')
    sections = dom_parser.parse_dom(link, 'div', {'class': "listings-program-content"})
    listings = dom_parser.parse_dom(sections, 'span', {'class': "listings-program-link"})
    for stuff in sections:
        match = re.compile('class="listings-program-link">(.+?)</span></h3>.+?class="listings-program-link">.+?listings-program-airing-info">(.+?)</p><p.+?description">(.+?)</p>').findall(stuff)
        for name, time, description in match:
            kodi.addItem('[COLOR gold][B]' + name_cleaner(name) + ' ' + '[/COLOR][/B]- [COLOR white]' + ' - ' + time + ' [/COLOR]','', '', artwork + 'icon.png',description='[COLOR gold][B]' + name_cleaner(name) + ' ' + '[/COLOR][/B]- [COLOR white]' + ' - ' + time + ' [/COLOR]')
    viewsetter.set_view("files")
コード例 #28
0
def MAININDEX():
    kodi.addItem("Git Browser", '', 'github_main', artwork + 'github_browser.png',
                 description="Search for repositories hosted on GitHub.")
    kodi.addDir('Search by: Addon/Author', '', 'searchaddon', artwork + 'search.png',
                description="Search for addons by Name or Author")
    if settings.getSetting('featured') == 'true':
        kodi.addDir('Featured Addons', 'featured', 'addonlist', artwork + 'featured.png',
                    description="The most popular Kodi addons!")
    # if settings.getSetting('livetv') == 'true':
    #     kodi.addDir('Live TV Addons', 'live', 'addonlist', artwork + 'livetv.png',
    #                 description="The most popular live TV addons!")
    # if settings.getSetting('sports') == 'true':
    #     kodi.addDir('Sports Addons', 'sports', 'addonlist', artwork + 'sports.png',
    #                 description="The most popular sports addons!")
    if settings.getSetting('video') == 'true':
        kodi.addDir('Video Addons', 'video', 'addonlist', artwork + 'video.png',
                    description="Every video addon in existence!")
    if settings.getSetting('audio') == 'true':
        kodi.addDir('Audio Addons', 'audio', 'addonlist', artwork + 'audio.png',
                    description="Find addons to listen to music!")
    if settings.getSetting('program') == 'true':
        kodi.addDir('Program Addons', 'executable', 'addonlist', artwork + 'program.png',
                    description="Every program addon you can imagine!")
    # if settings.getSetting('playlist') == 'true':
    #     kodi.addDir('Playlist Addons', 'playlists', 'addonlist', artwork + 'playlists.png',
    #                 description="The most popular playlist addons!")
    if settings.getSetting('services') == 'true':
        kodi.addDir('Service Addons', 'service', 'addonlist', artwork + 'service.png')
    if settings.getSetting('skincat') == 'true':
        kodi.addDir('Kodi Skins', 'skins', 'addonlist', artwork + 'kodi_skins.png',
                    description="Change up your look!")
    if settings.getSetting('world') == 'true':
        kodi.addDir('International Addons', 'international', 'interlist', artwork + 'world.png',
                    description="Foreign language addons and repos from across the globe!")
    if settings.getSetting('adult') == 'true':
        kodi.addDir('Adult Addons', 'xxx', 'adultlist', artwork + 'adult.png',
                    description="Must be 18 years or older! This menu can be disabled from within Add-on Settings.")
    # if settings.getSetting('repositories') == 'true':
    # 	kodi.addDir('Repositories','repositories', 'addonlist', artwork + 'repositories.png',
    # 				description="Browse addons by repository!")
    # kodi.addItem('Enable Live Streaming', 'None', 'EnableRTMP', artwork + 'enablertmp.png',
    # 			 description="Enable RTMP InputStream and InputStream Adaptive modules for Live Streaming.")
    kodi.addItem('Official OpenSubtitles Addon', openSub, 'addopensub', artwork + 'opensubicon.png',
                 description="Install Official OpenSubtitles Addon!")
    kodi.addDir('Install ZIP from Online Link', '', 'urlzip', artwork + 'onlinesource.png',
                description='Manually download and install addons or repositories from the web.')
    viewsetter.set_view("sets")
コード例 #29
0
def MAININDEX():
    kodi.addItem("Git Browser", '', 'github_main', artwork + 'github_browser.png',
                 description="Search for repositories hosted on GitHub.")
    kodi.addDir('Search by: Addon/Author', '', 'searchaddon', artwork + 'search.png',
                description="Search for addons by Name or Author")
    if settings.getSetting('featured') == 'true':
        kodi.addDir('Featured Addons', 'featured', 'addonlist', artwork + 'featured.png',
                    description="The most popular Kodi addons!")
    # if settings.getSetting('livetv') == 'true':
    #     kodi.addDir('Live TV Addons', 'live', 'addonlist', artwork + 'livetv.png',
    #                 description="The most popular live TV addons!")
    # if settings.getSetting('sports') == 'true':
    #     kodi.addDir('Sports Addons', 'sports', 'addonlist', artwork + 'sports.png',
    #                 description="The most popular sports addons!")
    if settings.getSetting('video') == 'true':
        kodi.addDir('Video Addons', 'video', 'addonlist', artwork + 'video.png',
                    description="Every video addon in existence!")
    if settings.getSetting('audio') == 'true':
        kodi.addDir('Audio Addons', 'audio', 'addonlist', artwork + 'audio.png',
                    description="Find addons to listen to music!")
    if settings.getSetting('program') == 'true':
        kodi.addDir('Program Addons', 'executable', 'addonlist', artwork + 'program.png',
                    description="Every program addon you can imagine!")
    # if settings.getSetting('playlist') == 'true':
    #     kodi.addDir('Playlist Addons', 'playlists', 'addonlist', artwork + 'playlists.png',
    #                 description="The most popular playlist addons!")
    if settings.getSetting('services') == 'true':
        kodi.addDir('Service Addons', 'service', 'addonlist', artwork + 'service.png')
    if settings.getSetting('skincat') == 'true':
        kodi.addDir('Kodi Skins', 'skins', 'addonlist', artwork + 'kodi_skins.png',
                    description="Change up your look!")
    if settings.getSetting('world') == 'true':
        kodi.addDir('International Addons', 'international', 'interlist', artwork + 'world.png',
                    description="Foreign language addons and repos from across the globe!")
    if settings.getSetting('adult') == 'true':
        kodi.addDir('Adult Addons', 'xxx', 'adultlist', artwork + 'adult.png',
                    description="Must be 18 years or older! This menu can be disabled from within Add-on Settings.")
    # if settings.getSetting('repositories') == 'true':
    # 	kodi.addDir('Repositories','repositories', 'addonlist', artwork + 'repositories.png',
    # 				description="Browse addons by repository!")
    # kodi.addItem('Enable Live Streaming', 'None', 'EnableRTMP', artwork + 'enablertmp.png',
    # 			 description="Enable RTMP InputStream and InputStream Adaptive modules for Live Streaming.")
    kodi.addItem('Official OpenSubtitles Addon', openSub, 'addopensub', artwork + 'opensubicon.png',
                 description="Install Official OpenSubtitles Addon!")
    kodi.addDir('Install ZIP from Online Link', '', 'urlzip', artwork + 'onlinesource.png',
                description='Manually download and install addons or repositories from the web.')
    viewsetter.set_view("sets")
コード例 #30
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def keymaps():
    #xbmc.executebuiltin("Container.Refresh")
    link = OPEN_URL(Keymaps_URL).replace('\n', '').replace('\r', '')
    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')
        #Common.addItem('[COLOR white][B]Remove Current Keymap Configuration[/B][/COLOR]',BASEURL,128,ICON,FANART,'')
    for name, url, iconimage, fanart, version, description in match:
        kodi.addDir(name, url, 'install_keymap', artwork + 'keymapadd.png')
        name = "[COLOR white][B]" + name + "[/B][/COLOR]"
        #bname = " - [COLOR lightskyblue][COLOR white]This Week - [/COLOR][B]" + str(Common.count_advanced(name)) + "[/B][/COLOR]"
        #Common.addItem(name + bname,url,130,ADVANCED_SET_ICON,FANART,description)
    #xbmc.executebuiltin("Container.Refresh")
    viewsetter.set_view("files")
コード例 #31
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def List_Addons(url):
    if not '://' in url: url = base_url2 + url
    link = OPEN_URL(url)
    match = GetListItems(link)
    CMi = []
    #kodi.log(link)
    if '/category/repositories/' in url: ToMode = 'addonlist'
    else: ToMode = 'addonindex'
    for url, image, name, in match:
        iconimage = base_url + image
        add2HELPDir(name, url, ToMode, iconimage, fanart, '', 'addon', CMi,
                    True)
    nmatch = GetListNextPage(link)
    if len(nmatch) > 0:
        kodi.addDir('Next Page', (nmatch[0]), 'addonlist',
                    getArtworkJ('NextPage'))

    viewsetter.set_view("sets")
コード例 #32
0
ファイル: default.py プロジェクト: CYBERxNUKE/xbmc-addon
def fullspeedtest():
    # speed_test = base64.b64decode("aHR0cDovL2luZGlnby50dmFkZG9ucy5hZy9zcGVlZHRlc3Qvc3BlZWR0ZXN0ZmlsZS50eHQ=")
    speed_test = 'http://www.engineerhammad.com/2015/04/Download-Test-Files.html'
    try:
        link = OPEN_URL(speed_test)
        match = re.findall('href="([^"]*)".+src="([^"]*)".+\n.+?(\d+\s[^b]*b)', link)
        for url, iconimage, name in reversed(match):
            iconimage = artwork + str(name).replace(' ', '').lower() + '.png'
            if 'mb'in iconimage and not os.path.isfile(iconimage):
                iconimage = iconimage.replace('mb', '')
            kodi.addItem('[COLOR ghostwhite]' + name + '[/COLOR]', url, "runtest", iconimage, description='Test with a ' + name + ' file')
        # link = OPEN_URL(speed_test).replace('\n', '').replace('\r', '')
        # match = re.compile('name="(.+?)".+?rl="(.+?)".+?mg="(.+?)".+?anart="(.+?)".+?ersion="(.+?)"').findall(link)
        # for name, url, iconimage, fanart, description in match:
        #     kodi.addItem('[COLOR ghostwhite]' + name + " | " + description + '[/COLOR]', url, "runtest", artwork + 'speed_test.png', description=description)
    except:
        kodi.addItem('[COLOR ghostwhite]Speed Test is unavailable[/COLOR]', '', "", artwork + 'speed_test.png', description='')
    viewsetter.set_view("sets")
コード例 #33
0
def List_Adult(url):
    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 = 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'
                add2HELPDir(name + ' (' + lang + ')', url, 'getaddoninfo', '', fanart, dataurl, repourl)
                if len(match) == 0:
                    return
        else:
            kodi.set_setting('adult', 'false')
            return
        viewsetter.set_view("sets")
コード例 #34
0
ファイル: default.py プロジェクト: YourFriendCaspian/dotfiles
def fullspeedtest():
    # speed_test = base64.b64decode("aHR0cDovL2luZGlnby50dmFkZG9ucy5hZy9zcGVlZHRlc3Qvc3BlZWR0ZXN0ZmlsZS50eHQ=")
    speed_test = 'http://www.engineerhammad.com/2015/04/Download-Test-Files.html'
    try:
        # link = OPEN_URL(speed_test)
        link = kodi.read_file(speed_test)
        match = re.findall('href="([^"]*)".+src="([^"]*)".+\n.+?(\d+\s[^b]*b)', link)
        for m_url, m_iconimage, m_name in reversed(match):
            m_iconimage = artwork + str(m_name).replace(' ', '').lower() + '.png'
            if 'mb'in m_iconimage and not os.path.isfile(m_iconimage):
                m_iconimage = m_iconimage.replace('mb', '')

            kodi.addItem('[COLOR ghostwhite]' + m_name + '[/COLOR]', m_url, "runtest", m_iconimage,
                         description='Test with a ' + m_name + ' file')
    except Exception as e:
        kodi.log(str(e))
        import traceback
        traceback.print_exc(file=sys.stdout)
        kodi.addItem('[COLOR ghostwhite]Speed Test is unavailable[/COLOR]', '', "", artwork + 'speed_test.png',
                     description='')
    viewsetter.set_view("sets")
コード例 #35
0
ファイル: default.py プロジェクト: CYBERxNUKE/xbmc-addon
def system_info():
    systime = xbmc.getInfoLabel('System.Time ')
    dns1 = xbmc.getInfoLabel('Network.DNS1Address')
    gateway = xbmc.getInfoLabel('Network.GatewayAddress')
    ipaddy = xbmc.getInfoLabel('Network.IPAddress')
    linkstate = xbmc.getInfoLabel('Network.LinkState').replace("Link:", "")
    freespace, totalspace = maintool.get_free_space_mb(os.path.join(xbmc.translatePath('special://home')))
    freespace = maintool.convert_size(freespace) + ' Free'
    totalspace = maintool.convert_size(totalspace) + ' Total'
    screenres = xbmc.getInfoLabel('system.screenresolution')
    freemem = xbmc.getInfoLabel('System.FreeMemory')
    
    # FIND WHAT VERSION OF KODI IS RUNNING
    xbmc_version = xbmc.getInfoLabel("System.BuildVersion")
    versioni = xbmc_version[:4]
    VERSIONS = {10: 'Dharma', 11: 'Eden', 12: 'Frodo', 13: 'Gotham', 14: 'Helix', 15: 'Isengard', 16: 'Jarvis', 17: 'Krypton'}
    codename = VERSIONS.get(int(xbmc_version[:2]))
    
    f = urllib.urlopen("http://www.canyouseeme.org/")
    html_doc = f.read()
    f.close()
    m = re.search('IP"\svalue="([^"]*)', html_doc)
 
    # Get Python Version
    pv = sys.version_info
    
    # System Information Menu
    kodi.addItem('[COLOR ghostwhite]Version: [/COLOR][COLOR lime]%s' % codename + " " + str(versioni) + "[/COLOR]", '', 100, artwork+'icon.png',"", description=" ")
    kodi.addItem('[COLOR ghostwhite]System Time: [/COLOR][COLOR lime]' + systime + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Gateway: [/COLOR][COLOR blue]' + gateway + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Local IP: [/COLOR][COLOR blue]' + ipaddy + '[/COLOR]', '', 100, artwork+'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]External IP: [/COLOR][COLOR blue]' + m.group(1) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]DNS 1: [/COLOR][COLOR blue]' + dns1 + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Network: [/COLOR][COLOR gold]'+linkstate + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Disc Space: [/COLOR][COLOR gold]'+str(totalspace) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Disc Space: [/COLOR][COLOR gold]'+str(freespace) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Free Memory: [/COLOR][COLOR gold]'+str(freemem) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Resolution: [/COLOR][COLOR gold]' + str(screenres) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Python Version: [/COLOR][COLOR lime]%d.%d.%d' % (pv[0], pv[1], pv[2]) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    viewsetter.set_view("files")
コード例 #36
0
def system_info():
    systime = xbmc.getInfoLabel('System.Time ')
    dns1 = xbmc.getInfoLabel('Network.DNS1Address')
    gateway = xbmc.getInfoLabel('Network.GatewayAddress')
    ipaddy = xbmc.getInfoLabel('Network.IPAddress')
    linkstate = xbmc.getInfoLabel('Network.LinkState').replace("Link:", "")
    freespace, totalspace = maintool.get_free_space_mb(os.path.join(xbmc.translatePath('special://home')))
    freespace = maintool.convert_size(freespace) + ' Free'
    totalspace = maintool.convert_size(totalspace) + ' Total'
    screenres = xbmc.getInfoLabel('system.screenresolution')
    freemem = xbmc.getInfoLabel('System.FreeMemory')
    
    # FIND WHAT VERSION OF KODI IS RUNNING
    xbmc_version = xbmc.getInfoLabel("System.BuildVersion")
    versioni = xbmc_version[:4]
    VERSIONS = {10: 'Dharma', 11: 'Eden', 12: 'Frodo', 13: 'Gotham', 14: 'Helix', 15: 'Isengard', 16: 'Jarvis', 17: 'Krypton'}
    codename = VERSIONS.get(int(xbmc_version[:2]))
    
    f = urllib.urlopen("http://www.canyouseeme.org/")
    html_doc = f.read()
    f.close()
    m = re.search('IP"\svalue="([^"]*)', html_doc)
 
    # Get Python Version
    pv = sys.version_info
    
    # System Information Menu
    kodi.addItem('[COLOR ghostwhite]Version: [/COLOR][COLOR lime]%s' % codename + " " + str(versioni) + "[/COLOR]", '', 100, artwork+'icon.png',"", description=" ")
    kodi.addItem('[COLOR ghostwhite]System Time: [/COLOR][COLOR lime]' + systime + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Gateway: [/COLOR][COLOR blue]' + gateway + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Local IP: [/COLOR][COLOR blue]' + ipaddy + '[/COLOR]', '', 100, artwork+'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]External IP: [/COLOR][COLOR blue]' + m.group(1) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]DNS 1: [/COLOR][COLOR blue]' + dns1 + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Network: [/COLOR][COLOR gold]'+linkstate + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Disc Space: [/COLOR][COLOR gold]'+str(totalspace) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Disc Space: [/COLOR][COLOR gold]'+str(freespace) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Free Memory: [/COLOR][COLOR gold]'+str(freemem) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Resolution: [/COLOR][COLOR gold]' + str(screenres) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Python Version: [/COLOR][COLOR lime]%d.%d.%d' % (pv[0], pv[1], pv[2]) + '[/COLOR]', '', 100, artwork + 'icon.png', "", description=" ")
    viewsetter.set_view("files")
コード例 #37
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def List_Addons_Inner_Tabs(Name, url):
    if not '://' in url: url = base_url2 + url
    link = OPEN_URL(url)
    print 'url:  ' + url
    print 'length of html:  ' + str(len(link))
    viewsetter.set_view("sets")
    if 'newest' in Name.lower():
        link = link.split('<div class="tabs-inner" id="newest">')[-1].split(
            '</div>')[0]
    elif 'updated' in Name.lower():
        link = link.split('<div class="tabs-inner" id="updated">')[-1].split(
            '</div>')[0]
    match = re.compile(
        "<li><a href='(.+?)'><img src='(.+?)' width='60' height='60' alt='(.+?)' class='pic alignleft' /><b>\s*(.+?)\s*</b></a><span class='date'>\s*(\d\d\d\d-\d\d-\d\d)\s*</span></li"
    ).findall(link)
    for url, image, name, name2, released in match:
        iconimage = base_url + image
        add2HELPDir(
            '[COLOR FF0077D7]%s [COLOR FFFFFFFF][[COLOR FFFFFFFF]%s[/COLOR]][/COLOR][/COLOR]'
            % (name, released), url, 'addonindex', iconimage, fanart, '',
            'addon')
    viewsetter.set_view("sets")
コード例 #38
0
ファイル: installer.py プロジェクト: krzysztofuu/Bonitillonew
def List_Repo_Top_Developers(url):
    if not '://' in url: url = base_url2 + url
    link = OPEN_URL(url)
    print 'url:  ' + url
    #print link; #return
    try:
        link = link.split(
            '<span class="sidebar-widget-header"><h3 class="sidebar-widget-header">Top developers</h3></span>'
        )[-1]
        link = link.split('</ul>')[0]
    except:
        pass
    match = re.compile(
        "<li><img src='(.+?)' height='20' width='20' alt='(.+?)' /><a href='(.+?)' title='Show all addons from this author'>\s*(.+?)\s+\((\d+)\s+uploads\)</a></li"
    ).findall(link.replace('</li>', '</li\n\r\a>'))
    #print match
    for (image, rank, url, name, uploads) in match:
        iconimage = base_url + image
        add2HELPDir(
            "[COLOR FF0077D7]%s [COLOR FFFFFFFF][[COLOR FFFFFFFF]%s[/COLOR]][/COLOR][/COLOR]"
            % (name, uploads), url, 'addonlist', iconimage, fanart, '',
            'addon')
    viewsetter.set_view("sets")
コード例 #39
0
ファイル: default.py プロジェクト: YourFriendCaspian/dotfiles
def what_sports():
    # #######  AMERICAN  ###############
    kodi.addItem('[COLOR blue][B]US Sports[/COLOR][/B]', '', '', artwork + 'icon.png',
                 description='[COLOR gold]Sports from around the US[/COLOR]')
    link = kodi.read_file('https://www.tvguide.com/sports/live-today/')
    pattern = '(?s)program-link">([^<]*)<.+?info">([^\|]*)\| ([^<]*)<.+?description">([^<]*)'
    for m_name, m_time, m_channel, m_description in re.findall(pattern, link):
        kodi.addItem('[COLOR white][B]%s[/COLOR][/B] - [COLOR gold]%s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
                     % (m_time.lower(), name_cleaner(m_name), m_channel), '', '', artwork + 'icon.png',
                     description='[COLOR gold][B]%s - %s[/COLOR][/B][COLOR white] - %s | %s[/COLOR]'
                                 % (m_description, name_cleaner(m_name), m_time.lower(), m_channel))

    # #######  UK  ###############
    kodi.addItem('[COLOR blue][B]UK Sports[/COLOR][/B]', '', '', artwork + 'icon.png',
                 description='[COLOR gold]Sports from around the UK[/COLOR]')
    link = kodi.read_file('http://www.wheresthematch.com/').replace('\r', '').replace('\n', '').replace('\t', '')
    pattern = '(?s)fixture-details">(.+?)t-details">(.+?)-name">(.+?)l-details">(.+?).png'
    for m_game, m_time, m_league, m_channels in re.findall(pattern, link):
        g_time = re.search('<strong>([^<]*)', m_time)
        g_time = g_time.group(1).strip('0').replace(' ', '') if g_time else ''
        league = re.search('<span>([^<]*)', m_league)
        g_league = ' - ' + league.group(1) if league else ''
        g_name = ''
        for team1, team2 in re.findall('(?s).asp">[^>]*>([^<]+)<.+?asp.+?">([^<]*)', m_game):
            g_name = '- %s vs %s' % (team1, team2) if m_game else ''
        if '<strong class=' in m_game:
            game = re.search('<strong class="">([^<]*)', m_game)
            g_name = ' - ' + game.group(1) if game and league != game.group(1) else ''
        channels = ''
        for channel in re.findall('-name">([^<]*)', m_channels):
            channels += ' ' + channel if not channels else ', ' + channel
        kodi.addItem('[COLOR white][B]%s[/COLOR][/B][COLOR gold]%s %s[/COLOR][COLOR white][B] | %s[/COLOR][/B]'
                     % (g_time, g_league, g_name, channels), '', '', artwork + 'icon.png',
                     description='[COLOR gold][B]%s - %s[/COLOR][/B][COLOR white] - %s | %s[/COLOR]'
                                 % (g_time, g_name, g_league, channels))
    viewsetter.set_view("tvshows")
コード例 #40
0
def INTERNATIONAL_ADDONS():
    imurl = 'https://www.tvaddons.co/kodi-addons/images/categories/international/'
    link = api.get_langs()
    if link:
        # for e in link:
            # name=e['languages']
            # kodi.log(name)
            l_vert = {"af": "African",
                      "ar": "Arabic",
                      # "cn": "Chinese",
                      "zh": "Chinese",
                      "cs": "Czech",
                      "da": "Danish",
                      "nl": "Dutch",
                      "ph": "Filipino",
                      "fi": "Finnish",
                      "fr": "French",
                      "de": "German",
                      "el": "Greek",
                      # "iw": "Hebrew",
                      "he": "Hebrew",
                      "hu": "Hungarian",
                      "is": "Icelandic",
                      "hi": "Indian",
                      "ga": "Irish",
                      "it": "Italian",
                      "ja": "Japanese",
                      "ko": "Korean",
                      "mn": "Mongolian",
                      "ne": "Nepali",
                      "no": "Norwegian",
                      "ur": "Pakistani",
                      "pl": "Polish",
                      "pt": "Portuguese",
                      "ro": "Romanian",
                      "ru": "Russian",
                      "ms": "Singapore",
                      "es": "Spanish",
                      "sv": "Swedish",
                      "ta": "Tamil",
                      "th": "Thai",
                      "tr": "Turkish",
                      "vi": "Vietnamese"}
            # for key in l_vert:
            #     if e['languages'] == key:
            #         full_name = l_vert[key]
            #         name = e['languages']
            #         try:
            #             kodi.addDir(full_name, name, 'interaddonslist', imurl + full_name.lower() + '.png',
            #                         description="Foreign language addons from across the globe!")
            #         except:
            #             pass
            #         viewsetter.set_view("sets")

            for key in sorted(l_vert.items(), key=lambda key: key[1]):
                try:
                    kodi.addDir(key[1], key[0], 'interaddonslist', imurl + key[1].lower() + '.png',
                                description="Foreign language addons from across the globe!")
                except:
                    pass
                viewsetter.set_view("sets")
コード例 #41
0
    my_list = sorted(link, key=lambda k: k['name'].upper())
    for e in link:
        name = e['name']
        repourl = e['repodlpath']
        path = e['addon_zip_path']
        description = e['description']
        icon = path.rsplit('/', 1)[0] + '/icon.png'
        fanart = path.rsplit('/', 1)[0] + '/fanart.jpg'
        
        if e['extension_point'] != 'xbmc.addon.repository':
            try:
                addHELPDir(name, path, 'addoninstall', icon, fanart, description, 'addon', repourl, '', '', CMi,
                           contextreplace=False)
            except:
                pass
viewsetter.set_view("sets")

def github_main(url):
    if not xbmc.getCondVisibility('System.HasAddon(plugin.git.browser'):
        xbmc.executebuiltin("XBMC.InstallAddon(plugin.git.browser)")
    else:
        xbmc.executebuiltin("XBMC.Container.Update(plugin://plugin.git.browser)")

# ********************************************************************
def INTERNATIONAL():
    kodi.addDir('International Repos', '', 'interrepos',
                'https://www.tvaddons.co/kodi-addons/images/categories/international.png',
                description="Foreign language repos from across the globe!")
    kodi.addDir('International Addonss', '', 'interaddons',
                'https://www.tvaddons.co/kodi-addons/images/categories/international.png',
                description="Foreign language addons from across the globe!")
コード例 #42
0
ファイル: default.py プロジェクト: YourFriendCaspian/dotfiles
def system_info():
    systime = xbmc.getInfoLabel('System.Time ')
    dns1 = xbmc.getInfoLabel('Network.DNS1Address')
    gateway = xbmc.getInfoLabel('Network.GatewayAddress')
    ipaddy = xbmc.getInfoLabel('Network.IPAddress')
    linkstate = xbmc.getInfoLabel('Network.LinkState').replace("Link:", "")
    freespace, totalspace = maintool.get_free_space_mb(os.path.join(xbmc.translatePath('special://home')))
    freespace = maintool.convert_size(freespace)
    totalspace = maintool.convert_size(totalspace)
    screenres = xbmc.getInfoLabel('system.screenresolution')
    freemem = maintool.convert_size(maintool.revert_size(xbmc.getInfoLabel('System.FreeMemory')))
    
    # FIND WHAT VERSION OF KODI IS RUNNING
    # xbmc_version = xbmc.getInfoLabel("System.BuildVersion")
    # versioni = xbmc_version[:4]
    # codename = kodi.get_codename()

    # Get External IP Address
    try:
        # ext_ip = ("blue", OPEN_URL('https://api.ipify.org'))
        ext_ip = ("blue", kodi.read_file('https://api.ipify.org'))
    except Exception as e:
        kodi.log(str(e))
        try:
            # link = OPEN_URL('http://whatismyip.network/')
            link = kodi.read_file('http://whatismyip.network/')
            ext_ip = ("blue", re.search('>My IP Address[^=]*[^>]*>([^<]*)', link).group(1))
        except:
            ext_ip = ("red", "IP Check Not Available")

    # Get Python Version
    pv = sys.version_info
    
    # System Information Menu
    # kodi.addItem('[COLOR ghostwhite]Version: [/COLOR][COLOR lime] %s %s[/COLOR]' % (codename, versioni),
    #              '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Version: [/COLOR][COLOR lime] %s %s[/COLOR]' %
                 (kodi.get_codename(), xbmc.getInfoLabel("System.BuildVersion").split('Git')[0]),'',
                 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]System Time: [/COLOR][COLOR lime] %s[/COLOR]' % systime,
                 '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Gateway: [/COLOR][COLOR blue] %s[/COLOR]' % gateway,
                 '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Local IP: [/COLOR][COLOR blue] %s[/COLOR]' % ipaddy,
                 '', 100, artwork+'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]External IP: [/COLOR][COLOR %s] %s[/COLOR]' % ext_ip,
                 '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]DNS 1: [/COLOR][COLOR blue] %s[/COLOR]' % dns1,
                 '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Network: [/COLOR][COLOR gold] %s[/COLOR]' % linkstate,
                 '', 100, artwork + 'icon.png', "", description=" ")
    if str(totalspace) != '0 B':
        kodi.addItem('[COLOR ghostwhite]Total Disc Space: [/COLOR][COLOR gold] %s[/COLOR]' % totalspace,
                     '', 100, artwork + 'icon.png', "", description=" ")
    if str(freespace) != '0 B':
        kodi.addItem('[COLOR ghostwhite]Free Disc Space: [/COLOR][COLOR gold] %s[/COLOR]' % freespace,
                     '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Free Memory: [/COLOR][COLOR gold] %s[/COLOR]' % freemem,
                 '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Resolution: [/COLOR][COLOR gold] %s[/COLOR]' % screenres,
                 '', 100, artwork + 'icon.png', "", description=" ")
    kodi.addItem('[COLOR ghostwhite]Python Version: [/COLOR][COLOR lime] %d.%d.%d[/COLOR]' % (pv[0], pv[1], pv[2]),
                 '', 100, artwork + 'icon.png', "", description=" ")
    viewsetter.set_view("files")
コード例 #43
0
ファイル: maintool.py プロジェクト: CYBERxNUKE/xbmc-addon
def tool_menu():
    menu_cache_path = cache_path
    if not os.path.exists(temp_path) and not os.path.exists(cache_path):
        os.makedirs(temp_path)
    if os.path.exists(temp_path):
        menu_cache_path = temp_path
    if not os.path.exists(packages_path):
        os.makedirs(packages_path)
    cache_size = ''
    thumb_size = ''
    packages_size = ''
    paths = {menu_cache_path: cache_size, thumbnail_path: thumb_size, packages_path: packages_size}
    if kodi.get_setting("maint_check_folders") == "true":
        for path in paths:
            try:
                paths[path] = ' - [COLOR blue]' + convert_size(get_size(path)) + '[/COLOR]'
            except:
                paths[path] = ' - [COLOR red]Error reading thumbnails[/COLOR]'
    startup_clean = kodi.get_setting("acstartup")
    if startup_clean == "false":
        startup_onoff = "Enable"
        su_art = 'enable_am_startup.png'
    else:
        startup_onoff = "Disable"
        su_art = 'disable_am_startup.png'
    su_desc = startup_onoff + " maintenance on Kodi launch!"
    weekly_clean = kodi.get_setting("clearday")
    if weekly_clean == "7":
        weekly_onoff = "Enable"
        acw_art = 'enable_am_week.png'
        acw_desc = "Set your device to perform maintenance on a given day each week!"
    else:
        weekly_onoff = "Disable"
        acw_art = 'disable_am_week.png'
        acw_desc = weekly_onoff + " weekly maintenance on Kodi launch!"
    if kodi.get_setting('scriptblock') == 'false':
        scb_onoff = 'Enable'
        scb_mode = 'toggleblocker'
        scb_art = 'enable_MSB.png'
    else:
        scb_onoff = 'Disable'
        scb_mode = 'toggleblocker'
        scb_art = 'enable_MSB.png'
    scb_desc = scb_onoff + " protection against malicious scripts!"
    if not _is_debugging():
        debug_onoff = 'Enable'
        debug_art = 'enabledebug.png'
    else:
        debug_onoff = 'Disable'
        debug_art = 'disabledebug.png'
    debug_desc = debug_onoff + " Debugging!"
    
    # Maintenance Tool Menu
    kodi.addItem("Clear Cache " + str(paths[menu_cache_path]), '', 'clear_cache', artwork + 'currentcache.png',
                 description="Clear your device cache!")
    kodi.addItem("Delete Thumbnails " + str(paths[thumbnail_path]), '', 'clear_thumbs', artwork + 'currentthumbs.png',
                 description="Delete your Thumbnail cache!")
    kodi.addItem("Delete Packages " + str(paths[packages_path]), '', 'purge_packages', artwork + 'currentpackages.png',
                 description="Delete your addon installation files!")
    kodi.addItem("Delete Crash Logs", '', 'crashlogs', artwork + 'clearcrash.png',
                 description="Clear all crash logs from your device!")
    kodi.addItem("Delete Textures13.db", '', 'deletetextures', artwork + 'currentthumbs.png',
                 description="This will delete the Textures13 database")
    kodi.addDir("Wipe Addons", '', 'wipe_addons', artwork + 'wipe_addons.png',
                description="Erase all your Kodi addons in one shot!")
    kodi.addItem("Run Auto Maintenance", '', 'autoclean', artwork + 'run_am.png',
                 description="Clear your cache, thumbnails and delete addon packages in one click!")
    kodi.addItem(startup_onoff + ' Auto Maintenance on Startup', '', 'autocleanstartup', artwork + su_art,
                 description=su_desc)
    kodi.addItem(weekly_onoff + ' Weekly Auto Maintenance', '', 'autocleanweekly', artwork + acw_art,
                 description=acw_desc)
    kodi.addItem(debug_onoff + " Debugging Mode", '', 'debug_onoff', artwork + debug_art,
                 description=debug_desc)
    kodi.addItem(scb_onoff + " Malicious Scripts Blocker", '', 'toggleblocker', artwork + scb_art,
                 description=scb_desc)
    kodi.addItem("Force Update Addons", '', 'updateaddons', artwork + 'forceupdateaddons.png',
                 description="Force a reload of all Kodi addons and repositories!")
    kodi.addDir("Install Custom Keymaps", '', 'customkeys', artwork + 'custom_keymaps.png',
                description="Get the best experience out of your device-specific remote control!")
    kodi.addItem("Reload Current Skin", '', 'reloadskin', artwork + 'reloadskin.png',
                 description="Reload the skin!")
    viewsetter.set_view("sets")
コード例 #44
0
def List_Addons(url):
    specials = ('featured', 'live', 'sports', 'playlists')
    regulars = ('video', 'executable')
    easyreg = ('audio', 'image', 'service', 'skins')
    if url in specials:
        query = url
        link = api.get_all_addons()
        feat = api.special_addons(query)
        my_list = sorted(link, key=lambda k: k['name'])
        for e in my_list:
            if e['id'] in feat:
                name = e['name']
                repourl = e['repodlpath']
                path = e['addon_zip_path']
                description = e['description']
                icon = path.rsplit('/', 1)[0] + '/icon.png'
                fanart = path.rsplit('/', 1)[0] + '/fanart.jpg'
                try:
                    addHELPDir(name, path, 'addoninstall', icon, fanart, description, 'addon', repourl, '', '', CMi,
                               contextreplace=False)
                except:
                    pass
    
    if url in easyreg:
        link = api.get_types(url)
        my_list = sorted(link, key=lambda k: k['name'])
        for e in my_list:
            name = e['name']
            repourl = e['repodlpath']
            path = e['addon_zip_path']
            description = e['description']
            icon = path.rsplit('/', 1)[0] + '/icon.png'
            fanart = path.rsplit('/', 1)[0] + '/fanart.jpg'
            try:
                addHELPDir(name, path, 'addoninstall', icon, fanart, description, 'addon', repourl, '', '', CMi,
                           contextreplace=False)
            except:
                pass
            
            # Split into ABC Menus
    if url in regulars:
        d = dict.fromkeys(string.ascii_uppercase, 0)
        my_list = sorted(d)
        for e in my_list:
            kodi.addDir(e, url, 'splitlist', artwork + e + '.png', description="Starts with letter " + e)
        kodi.addDir('Others', url, 'splitlist', artwork + 'symbols.png', description="Starts with another character")
    
    if url == 'repositories':
        link = api.get_repos()
        for e in link:
            name = e['name']
            repourl = e['repodlpath']
            path = e['addon_zip_path']
            description = e['description']
            icon = path.rsplit('/', 1)[0] + '/icon.png'
            fanart = path.rsplit('/', 1)[0] + '/fanart.jpg'
            try:
                addHELPDir(name, path, 'addoninstall', icon, fanart, description, 'addon', 'None', '', '', CMi,
                           contextreplace=False)
            except:
                pass
    if url == 'skins':
        link = api.get_all_addons()
        my_list = sorted(link, key=lambda k: k['name'])
        for e in my_list:
            if e['extension_point'] == 'xbmc.gui.skin':
                name = e['name']
                repourl = e['repodlpath']
                path = e['addon_zip_path']
                description = e['description']
                icon = path.rsplit('/', 1)[0] + '/icon.png'
                fanart = path.rsplit('/', 1)[0] + '/fanart.jpg'
                try:
                    addHELPDir(name, path, 'addoninstall', icon, fanart, description, 'addon', 'None', '', '', CMi,
                               contextreplace=False)
                except:
                    pass
    viewsetter.set_view("sets")
コード例 #45
0
def system_info():
    systime = xbmc.getInfoLabel('System.Time ')
    dns1 = xbmc.getInfoLabel('Network.DNS1Address')
    gateway = xbmc.getInfoLabel('Network.GatewayAddress')
    ipaddy = xbmc.getInfoLabel('Network.IPAddress')
    linkstate = xbmc.getInfoLabel('Network.LinkState').replace("Link:", "")
    freespace = xbmc.getInfoLabel('System.FreeSpace')
    screenres = xbmc.getInfoLabel('system.screenresolution')
    totalspace = xbmc.getInfoLabel('System.TotalSpace')
    freemem = xbmc.getInfoLabel('System.FreeMemory')
    #######################################################################
    #           FIND WHAT VERSION OF KODI IS RUNNING
    #######################################################################

    xbmc_version = xbmc.getInfoLabel("System.BuildVersion")
    versioni = xbmc_version[:4]

    # if version >= 11.0 and version <= 11.9:
    #   codename = 'Eden'
    # if version >= 12.0 and version <= 12.9:
    #   codename = 'Frodo'
    # if version >= 13.0 and version <= 13.9:
    #   codename = 'Gotham'
    # if version >= 14.0 and version <= 14.9:
    #   codename = 'Helix'
    # if version >= 15.0 and version <= 15.9:
    #   codename = 'Isengard'
    # if version >= 16.0 and version <= 16.9:
    #   codename = 'Jarvis'
    # if version >= 17.0 and version <= 17.9:
    #   codename = 'Krypton'

    VERSIONS = {
        10: 'Dharma',
        11: 'Eden',
        12: 'Frodo',
        13: 'Gotham',
        14: 'Helix',
        15: 'Isengard',
        16: 'Jarvis',
        17: 'Krypton'
    }
    v_str = versioni
    version = int(float(v_str.strip()))
    unknown = chr(version + 58) + '**'
    codename = VERSIONS.get(version, unknown)

    f = urllib.urlopen("http://www.canyouseeme.org/")
    html_doc = f.read()
    f.close()
    m = re.search(
        '(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)',
        html_doc)

    check_folders = plugintools.get_setting("maint_check_folders")

    HOME = xbmc.translatePath('special://home/')
    PACKAGES = xbmc.translatePath(
        os.path.join('special://home/addons', 'packages'))
    THUMBS = xbmc.translatePath(
        os.path.join('special://home/userdata', 'Thumbnails'))
    CACHE_FOLDER = xbmc.translatePath(os.path.join('special://home', 'cache'))
    TEMP_FOLDER = xbmc.translatePath(os.path.join('special://', 'temp'))
    CACHE = "NULL"

    if check_folders == "true":
        if os.path.exists(CACHE_FOLDER):
            CACHE = CACHE_FOLDER

        if os.path.exists(TEMP_FOLDER):
            CACHE = TEMP_FOLDER

        if not os.path.exists(PACKAGES):
            os.makedirs(PACKAGES)

        if CACHE == "NULL":
            try:
                PACKAGES_SIZE_BYTE = maintool.get_size(PACKAGES)
                THUMB_SIZE_BYTE = maintool.get_size(THUMBS)
            except:
                pass
        else:
            try:
                CACHE_SIZE_BYTE = maintool.get_size(CACHE)
                PACKAGES_SIZE_BYTE = maintool.get_size(PACKAGES)
                THUMB_SIZE_BYTE = maintool.get_size(THUMBS)
            except:
                pass

        if CACHE == "NULL":
            try:
                PACKAGES_SIZE = maintool.convertSize(PACKAGES_SIZE_BYTE)
                THUMB_SIZE = maintool.convertSize(THUMB_SIZE_BYTE)
            except:
                pass
        else:
            try:
                CACHE_SIZE = maintool.convertSize(CACHE_SIZE_BYTE)
                PACKAGES_SIZE = maintool.convertSize(PACKAGES_SIZE_BYTE)
                THUMB_SIZE = maintool.convertSize(THUMB_SIZE_BYTE)
            except:
                pass

        if CACHE == "NULL":
            CACHE_SIZE = "Error reading cache"

    PV = sys.version_info

    kodi.addItem(
        '[COLOR ghostwhite]Version: [/COLOR][COLOR lime]%s' % codename + " " +
        str(versioni) + "[/COLOR]",
        '',
        100,
        artwork + 'icon.png',
        "",
        description=" ")
    kodi.addItem('[COLOR ghostwhite]System Time: [/COLOR][COLOR lime]' +
                 systime + '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]Gateway: [/COLOR][COLOR blue]' + gateway +
                 '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]Local IP: [/COLOR][COLOR blue]' + ipaddy +
                 '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]External IP: [/COLOR][COLOR blue]' +
                 m.group(0) + '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]DNS 1: [/COLOR][COLOR blue]' + dns1 +
                 '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]Network: [/COLOR][COLOR gold]' +
                 linkstate + '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]Disc Space: [/COLOR][COLOR gold]' +
                 str(totalspace) + '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]Disc Space: [/COLOR][COLOR gold]' +
                 str(freespace) + '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]Free Memory: [/COLOR][COLOR gold]' +
                 str(freemem) + '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem('[COLOR ghostwhite]Resolution: [/COLOR][COLOR gold]' +
                 str(screenres) + '[/COLOR]',
                 '',
                 100,
                 artwork + 'icon.png',
                 "",
                 description=" ")
    kodi.addItem(
        '[COLOR ghostwhite]Python Version: [/COLOR][COLOR lime]%d.%d.%d' %
        (PV[0], PV[1], PV[2]) + '[/COLOR]',
        '',
        100,
        artwork + 'icon.png',
        "",
        description=" ")
    if check_folders == "true":
        try:
            kodi.addItem("Cache Size: [COLOR blue]" + str(CACHE_SIZE) +
                         '[/COLOR]',
                         '',
                         'null',
                         artwork + 'currentcache.png',
                         description="Clear your device cache!")
            kodi.addItem("Packages Size: [COLOR blue]" + str(PACKAGES_SIZE) +
                         '[/COLOR]',
                         'null',
                         '',
                         artwork + 'currentpackages.png',
                         description="Clear your device cache!")
            kodi.addItem("Thumbnail Size: [COLOR blue]" + str(THUMB_SIZE) +
                         '[/COLOR]',
                         'null',
                         '',
                         artwork + 'currentthumbs.png',
                         description="Clear your device cache!")
        except:
            pass

    viewsetter.set_view("files")
コード例 #46
0
def main_menu():

    ###########TRY POP########
    if len(kodi.get_setting('notify')) > 0:
        kodi.set_setting('notify', str(int(kodi.get_setting('notify')) + 1))
    else:
        kodi.set_setting('notify', "1")
    if int(kodi.get_setting('notify')) == 1:
        xbmcgui.Dialog().notification('Serve  Aiuto?', 'https://t.me/steaddon',
                                      artwork + 'icon.png', 3000, False)
    elif int(kodi.get_setting('notify')) == 5:
        kodi.set_setting('notify', "0")
    #########END POP###########

    if kodi.get_setting('hasran') == 'false':
        kodi.set_setting('hasran', 'true')

    if kodi.get_setting('set_rtmp') == 'false':
        try:
            addon_able.set_enabled("inputstream.adaptive")
        except:
            pass
        time.sleep(0.5)
        try:
            addon_able.set_enabled("inputstream.rtmp")
        except:
            pass

    if os.path.exists(oldinstaller):
        shutil.rmtree(oldinstaller)
    if os.path.exists(oldnotify):
        shutil.rmtree(oldnotify)
    if os.path.exists(oldmain):
        shutil.rmtree(oldmain)
    if os.path.exists(oldwiz):
        shutil.rmtree(oldwiz)
    if os.path.exists(oldfresh):
        shutil.rmtree(oldfresh)

    kodi.addDir(
        "Manutenzione Tools",
        '',
        'call_maintool',
        artwork + 'maintool.png',
        description="Keep your Kodi setup running at optimum performance!")
    #kodi.addDir("Kodi Librtmp Files",'','get_libs',artwork+'librtmp_files.png')
    kodi.addDir("Factory Restore",
                '',
                'call_restore',
                artwork + 'factory_restore.png',
                description="Start off fresh, wipe your Kodi setup clean!")

    kodi.addDir("Informazioni Sistema",
                '',
                'system_info',
                artwork + 'system_info.png',
                description="Useful information about your Kodi setup!")
    kodi.addDir("Sports Listings",
                '',
                'call_sports',
                artwork + 'sports_list.png',
                description="Who’s playing what today?")
    kodi.addDir(
        'Backup / Restore',
        '',
        'backup_restore',
        artwork + 'backup_restore.png',
        description="Backup or restore your Kodi configuration in minutes!")
    kodi.addItem(
        "Log Viewer",
        '',
        'log_view',
        artwork + 'log_uploader.png',
        description="Easily view your error log without leaving Kodi!")
    if kodi.get_setting('notifications-on-startup') == 'false':
        kodi.addItem(
            "Notifications (Opt Out)",
            '',
            'enable_notify',
            artwork + 'notification_optout.png',
            description="Unsubscribe from important Stefano notifications!")
    if kodi.get_setting('notifications-on-startup') == 'true':
        kodi.addItem(
            "Notifications (Opt In)",
            '',
            'disable_notify',
            artwork + 'notification_in.png',
            description="Subscribe to important Stefano notifications!")

    viewsetter.set_view("sets")
コード例 #47
0
ファイル: default.py プロジェクト: CYBERxNUKE/xbmc-addon
def main_menu():
    maintool.source_change()
    maintool.feed_change()
    # ########## TRY POP ########
    if len(kodi.get_setting('notify')) > 0:
        kodi.set_setting('notify', str(int(kodi.get_setting('notify')) + 1))
    else:
        kodi.set_setting('notify', "1")
    if int(kodi.get_setting('notify')) == 1:
        xbmcgui.Dialog().notification('Need Support?', 'www.tvaddons.co', artwork + 'icon.png', 3000, False)
    elif int(kodi.get_setting('notify')) == 5:
        kodi.set_setting('notify', "0")
    # ######## END POP ###########

    if kodi.get_setting('hasran') == 'false':
        kodi.set_setting('hasran', 'true')

    if kodi.get_setting('set_rtmp') == 'false':
        try:
            addon_able.set_enabled("inputstream.adaptive")
        except:
            pass
        time.sleep(0.5)
        try:
            addon_able.set_enabled("inputstream.rtmp")
        except:
            pass
        time.sleep(0.5)
        xbmc.executebuiltin("XBMC.UpdateLocalAddons()")
        kodi.set_setting('set_rtmp', 'true')
        
    dp = xbmcgui.DialogProgress()
    try:
        if (not os.path.exists(ART)) or (not os.path.exists(ART2)) or (not os.path.exists(ART3)):
            dp.create(AddonTitle, 'Getting ' + AddonTitle + ' Ready........', 'Downloading ' + AddonTitle + ' Icons......')
            dp.update(0)
            icons_zip = os.path.join(packagepath, AddonTitle + '_icons.zip')
            downloader.download(OPEN_URL('http://indigo.tvaddons.co/graphics/arts.txt'), icons_zip, dp)
            dp.update(0, 'Getting %s Ready........' % AddonTitle, 'Extracting %s Icons......' % AddonTitle)
            extract.all(icons_zip, addon_path, dp)
            dp.close()
    except:
        pass
    # # Check for HUBRepo and install it
    try:
        if not os.path.exists(hubpath):
            installer.HUBINSTALL('repository.xbmchub', 'http://github.com/tvaddonsco/tva-release-repo/raw/master/repository.xbmchub/', 'repository.xbmchub')
            xbmc.executebuiltin("XBMC.InstallAddon(%s)" % 'repository.xbmchub')
            addon_able.set_enabled("repository.xbmchub")
            xbmc.executebuiltin("XBMC.UpdateAddonRepos()")

    except:
        pass
    # Check for Log Uploader and install it
    try:
        if not os.path.exists(uploaderpath):
            installer.HUBINSTALL('script.tvaddons.debug.log', 'http://github.com/tvaddonsco/tva-release-repo/raw/master/script.tvaddons.debug.log/', 'script.tvaddons.debug.log')
            addon_able.set_enabled('script.tvaddons.debug.log')
            # xbmc.executebuiltin("InstallAddon(%s)" % 'script.tvaddons.debug.log')
            xbmc.executebuiltin("XBMC.UpdateLocalAddons()")

    except:
        pass
   
    # Check for old maintenance tools and remove them
    old_maintenance = (oldinstaller, oldnotify, oldmain, oldwiz, oldfresh)
    for old_file in old_maintenance:
        if os.path.exists(old_file):
            shutil.rmtree(old_file)

    if kodi.get_setting('wizardran') == 'false':
        kodi.addItem("Config Wizard", '', 'call_wizard',artwork+'config_wizard.png',
                     description="Automatically configure Kodi with the best addons and goodies in seconds!")
    kodi.addDir("Addon Installer", '', 'call_installer', artwork + 'addon_installer.png',
                description="It’s like an App Store for Kodi addons!")
    kodi.addDir("Maintenance Tools", '', 'call_maintool', artwork + 'maintool.png',
                description="Keep your Kodi setup running at optimum performance!")
    # kodi.addDir("Kodi Librtmp Files", '', 'get_libs', artwork +'librtmp_files.png')
    kodi.addItem("Rejuvenate Kodi", '', 'call_rejuv', artwork + 'rejuvinate.png',
                 description="Wipe and reconfigure Kodi with the latest Config Wizard setup!")
    kodi.addDir("Factory Restore", '', 'call_restore', artwork + 'factory_restore.png',
                description="Start off fresh, wipe your Kodi setup clean!")
    if os.path.exists(uploaderpath):
        kodi.addItem("Log Uploader", '', 'log_upload', artwork + 'log_uploader.png',
                     description="Easily upload your error logs for troubleshooting!")
    kodi.addDir("Network Speed Test", '', 'runspeedtest', artwork + 'speed_test.png',
                description="How fast is your internet?")
    kodi.addDir("System Information", '', 'system_info', artwork + 'system_info.png',
                description="Useful information about your Kodi setup!")
    kodi.addDir("Sports Listings", '', 'call_sports', artwork + 'sports_list.png',
                description="Who’s playing what today?")
    kodi.addDir('Backup / Restore', '', 'backup_restore', artwork + 'backup_restore.png',
                description="Backup or restore your Kodi configuration in minutes!")
    kodi.addItem("Log Viewer", '', 'log_view', artwork + 'log_viewer.png',
                 description="Easily view your error log without leaving Kodi!")
    if kodi.get_setting("notifications-on-startup") == "false":
        kodi.addItem("Notifications (Opt Out)", '', 'toggle_notify', artwork + 'notification_optout.png',
                     description="Unsubscribe to important TV ADDONS notifications!")
    else:
        kodi.addItem("Notifications (Opt In)", '', 'toggle_notify', artwork + 'notification_in.png',
                     description="Subscribe from important TV ADDONS notifications!")
    viewsetter.set_view("sets")