Esempio n. 1
0
def makeIPTVlist(iptvFile):
    first21 = True
    iptvList = '#EXTM3U\n'

    channelsList = GetIptvChannels()
    portNum = common.GetLivestreamerPort()

    for item in channelsList:
        try:
            url = item['url']
            tvg_id = item['name']
            view_name = item['name']
            if url.find('plugin.video.f4mTester') > 0:
                url = "http://localhost:{0}/{1}".format(
                    portNum, url[url.find('?'):])
            elif url.find('www.youtube.com') > 0 or url == "BB":
                url = "http://localhost:{0}/?url={1}".format(portNum, url)
            else:
                matches = re.compile('^(.*?)[\?|&]mode=(\-?[0-9]+)(.*?)$',
                                     re.I + re.M + re.U + re.S).findall(url)
                if len(matches) > 0:
                    url = matches[0][0]
                    mode = matches[0][1]
                    if len(matches[0]) > 2:
                        url += matches[0][2]
                    if mode == '1':
                        url = "http://localhost:{0}/{1}&mode={2}".format(
                            portNum, url[url.find('?'):], mode)
                    elif mode == '3':
                        url = "http://localhost:{0}/?url={1}".format(
                            portNum, url)
                    elif mode == '-3' or mode == '0' or mode == '7' or mode == '16' or mode == '20' or mode == '21' or mode == '22' or mode == '23' or mode == '24' or mode == '25':
                        if mode == '21':
                            if first21:
                                first21 = False
                            else:
                                url += ";s"
                        url = myResolver.Resolve(url, mode)
                        if url is None or url == "down":
                            continue
                    elif mode == '10' or mode == '13':
                        continue
                    else:
                        url = "http://localhost:{0}/?url={1}&mode={2}".format(
                            portNum, url.replace('?', '&'), mode)

            tvg_name = item['name'].replace(' ', '_')
            tvg_logo = common.GetLogoFileName(item)
            radio = ' radio="true"' if item['type'].lower() == "audio" else ''
            group = ' group-title="{0}"'.format(
                item['group']) if item.has_key('group') else ''
            iptvList += '\n#EXTINF:-1 tvg-id="{0}" tvg-name="{1}"{2} tvg-logo="{3}"{4},{5}\n{6}\n'.format(
                tvg_id, tvg_name, group, tvg_logo, radio, view_name, url)
        except Exception as e:
            print e

    f = open(iptvFile, 'w')
    f.write(iptvList)
    f.close()
Esempio n. 2
0
def makeIPTVlist(iptvFile):
    iptvType = GetIptvType()
    iptvList = '#EXTM3U\n'

    channelsList = GetIptvChannels()
    portNum = common.GetLivestreamerPort()
    hostName = '127.0.0.1'

    for item in channelsList:
        try:
            tvg_id = item['name']
            view_name = item['name']
            tvg_name = item['name'].replace(' ', '_')
            tvg_logo = item[
                'image'] if iptvType > 1 else common.GetLogoFileName(item)
            if iptvType == 0:
                tvg_logo = tvg_logo[:tvg_logo.rfind('.')]
            radio = ' radio="true"' if item['type'].lower() == "audio" else ''
            group = ' group-title="{0}"'.format(
                item['group']) if item.has_key('group') else ''

            url = item['url']
            if "mode=" in url:
                if KodiPlayer:
                    url = "http://{0}:{1}/?url=plugin://plugin.video.israelive/&channelid={2}".format(
                        hostName, portNum, item['id'])
                    if item.get('catid') == 'Favourites':
                        url += '&mode=11'
                    else:
                        url += '&mode=10'
                else:
                    regex = re.compile('[\?|&]mode=(\-?[0-9]+)',
                                       re.I + re.M + re.U + re.S)
                    matches = regex.findall(url)
                    if len(matches) > 0:
                        url = regex.sub('', url).strip()
                        mode = matches[0]
                        if myResolver is not None and (mode == '-3' or mode
                                                       == '0' or mode == '16'
                                                       or mode == '34'):
                            url = myResolver.Resolve(url, mode)
                            if url is None:
                                continue
                        elif mode == '13':
                            continue
                        else:
                            url = "http://{0}:{1}/?url={2}&mode={3}".format(
                                hostName, portNum,
                                urllib.quote(url.replace('?', '&')), mode)
            iptvList += '\n#EXTINF:-1 tvg-id="{0}" tvg-name="{1}"{2} tvg-logo="{3}"{4},{5}\n{6}\n'.format(
                tvg_id, tvg_name, group, tvg_logo, radio, view_name, url)
        except Exception as ex:
            xbmc.log("{0}".format(ex), 3)

    with open(iptvFile, 'w') as f:
        f.write(iptvList)
Esempio n. 3
0
def makeIPTVlist(iptvFile):
    iptvType = GetIptvType()
    iptvList = '#EXTM3U\n'

    channelsList = GetIptvChannels()
    portNum = common.GetLivestreamerPort()

    for item in channelsList:
        try:
            url = item['url']
            tvg_id = item['name']
            view_name = item['name']

            matches = re.compile('^(.*?)[\?|&]mode=(\-?[0-9]+)(.*?)$',
                                 re.I + re.M + re.U + re.S).findall(url)
            if len(matches) > 0:
                url = matches[0][0]
                mode = matches[0][1]
                if len(matches[0]) > 2:
                    url += matches[0][2]
                if mode == '-3' or mode == '0' or mode == '16' or mode == '34':
                    url = myResolver.Resolve(url, mode)
                    if url is None or url == "down":
                        continue
                elif mode == '13':
                    continue
                else:
                    url = "http://localhost:{0}/?url={1}&mode={2}".format(
                        portNum, urllib.quote(url.replace('?', '&')), mode)

            tvg_name = item['name'].replace(' ', '_')
            tvg_logo = item[
                'image'] if iptvType > 1 else common.GetLogoFileName(item)
            if iptvType == 0:
                tvg_logo = tvg_logo[:tvg_logo.rfind('.')]

            radio = ' radio="true"' if item['type'].lower() == "audio" else ''
            group = ' group-title="{0}"'.format(
                item['group']) if item.has_key('group') else ''
            iptvList += '\n#EXTINF:-1 tvg-id="{0}" tvg-name="{1}"{2} tvg-logo="{3}"{4},{5}\n{6}\n'.format(
                tvg_id, tvg_name, group, tvg_logo, radio, view_name, url)
        except Exception as ex:
            xbmc.log("{0}".format(ex), 3)

    with open(iptvFile, 'w') as f:
        f.write(iptvList)
Esempio n. 4
0
def GetLivestreamerLink(url):
    portNum = common.GetLivestreamerPort()
    url = "http://localhost:{0}/?url={1}".format(portNum, url)
    return url
Esempio n. 5
0
import xbmc, xbmcaddon, os

Addon = xbmcaddon.Addon()
libDir = os.path.join(
    xbmc.translatePath(Addon.getAddonInfo("path")).decode("utf-8"),
    'resources', 'lib')
sys.path.insert(0, libDir)
import common
xbmc.executebuiltin(
    "XBMC.RunScript({0})".format(os.path.join(libDir, "repoCheck.py")), True)

if Addon.getSetting("useIPTV") == "true":
    autoIPTV = int(Addon.getSetting("autoIPTV"))
    autoPVR = Addon.getSetting("autoPVR") == "true"
    autoStopPVR = Addon.getSetting("autoStopPVR") == "true"
    if (autoIPTV == 0 or autoIPTV == 2) and autoPVR and autoStopPVR:
        xbmc.executebuiltin('StopPVRManager')
    portNum = common.GetLivestreamerPort()
    try:
        xbmc.executebuiltin(
            "XBMC.RunScript({0},{1})".format(
                os.path.join(libDir, "livestreamersrv.py"), portNum), True)
    except Exception as ex:
        print ex

xbmc.executebuiltin("XBMC.RunScript({0})".format(
    os.path.join(libDir, "checkUpdates.py")))
xbmc.executebuiltin(
    "XBMC.AlarmClock({0},XBMC.RunScript({1}),{2},silent)".format(
        "IsraeLiveM3U", os.path.join(libDir, "updateM3U.py"), 360))