Exemple #1
0
def EPISODES(mname, murl):
    sea = re.findall("\sSeason\s(\d+)", mname, re.DOTALL)[0]
    getepi = apibase + "/api/serials/es/?id=" + murl + "&season=" + sea
    link = main.OPENURL(getepi, ua=useragent)
    match = re.findall('"(\d+)":"([^"]+?)"', link, re.DOTALL)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create("Please wait until Episodes list is cached.")
    totalLinks = len(match)
    loadedLinks = 0
    remaining_display = "Episodes Cached :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]."
    dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display)
    xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
    for epinum, thumb in match:
        main.addDown4(
            mname + " Episode " + epinum,
            apibase + "/api/serials/e?h=" + murl + "&u=" + sea + "&y=" + epinum,
            279,
            thumb.replace("\/", "/"),
            "",
            "",
            "",
            "",
            "",
        )
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = "Episodes Cached :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]."
        dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display)
        if dialogWait.iscanceled():
            return False
Exemple #2
0
def LIST(type):
    path = os.path.join(profile, type.replace('25', '') + '_lite.json')
    f = open(path)
    field = json.loads(f.read())
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Content list is cached.')
    if '25movies' in type:
        totalLinks = 25
    else:
        totalLinks = len(field)
    loadedLinks = 0
    remaining_display = 'Content Cached :: [B]' + str(
        loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
    dialogWait.update(0, '[B]Will load instantly from now on[/B]',
                      remaining_display)
    xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
    field = sorted(field, key=lambda x: x['poster'], reverse=True)
    try:
        updates = ''
        if 'movies' in type or '25movies' in type:
            path = os.path.join(profile, 'news_movies.json')
        else:
            path = os.path.join(profile, 'news_tv.json')
        updates = open(path).read()
        field = sorted(field,
                       key=lambda word: negtopos(
                           updates.find('"id":' + word['id'] + ',')))
    except:
        pass
    if '25movies' in type:
        field = field[0:25]
    for data in field:
        #genre=str(data["genres"]).replace("u'",'').replace("'",'').replace("[",'').replace("]",'')
        if data['active'] == '1':
            thumb = str(data["poster"]).replace("\/'", '/')
            if 'movies' in type or '25movies' in type:
                main.addDown4(
                    str(data["title"].encode('utf-8')) + ' (' +
                    str(data["year"]) + ')', apibase +
                    '/api/serials/get_movie_data?id=' + str(data["id"]), 279,
                    thumb, '', '', '', '', '')
            elif 'music' in type:
                main.addDirMs(
                    str(data["title"].encode('utf-8')),
                    apibase + '/api/serials/get_artist_data/?id=' +
                    str(data["id"]) + '&type=1', 302, thumb, '', '', '', '',
                    '')
            else:
                main.addDirT(str(data["title"].encode('utf-8')),
                             data["id"] + 'xoxe' + data["seasons"], 280, thumb,
                             '', '', '', '', '')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = 'Content Cached :: [B]' + str(
            loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
        dialogWait.update(percent, '[B]Will load instantly from now on[/B]',
                          remaining_display)
        if dialogWait.iscanceled(): break
    main.GA("Mbox", "List")
    main.VIEWS()
Exemple #3
0
def EPISODES(mname, murl):
    sea = re.findall('\sSeason\s(\d+)', mname, re.DOTALL)[0]
    getepi = apibase + '/api/serials/es/?id=' + murl + '&season=' + sea
    link = main.OPENURL(getepi, ua=useragent)
    match = re.findall('"(\d+)":"([^"]+?)"', link, re.DOTALL)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Episodes list is cached.')
    totalLinks = len(match)
    loadedLinks = 0
    remaining_display = 'Episodes Cached :: [B]' + str(
        loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
    dialogWait.update(0, '[B]Will load instantly from now on[/B]',
                      remaining_display)
    xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
    for epinum, thumb in match:
        main.addDown4(
            mname + ' Episode ' + epinum, apibase +
            '/api/serials/e?h=' + murl + '&u=' + sea + '&y=' + epinum, 279,
            thumb.replace('\/', '/'), '', '', '', '', '')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = 'Episodes Cached :: [B]' + str(
            loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
        dialogWait.update(percent, '[B]Will load instantly from now on[/B]',
                          remaining_display)
        if dialogWait.iscanceled():
            return False
Exemple #4
0
def LIST(type):
    path=os.path.join(profile,type.replace('25','')+'_lite.json')
    f = open(path)
    field=json.loads(f.read())
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Content list is cached.')
    if '25movies'in type: totalLinks = 25
    else: totalLinks = len(field)
    loadedLinks = 0
    remaining_display = 'Content Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
    dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display)
    xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
    field = sorted(field,key=lambda x:x['poster'],reverse=True)
    try:
        updates = ''
        if 'movies'in type or '25movies'in type: path = os.path.join(profile,'news_movies.json')
        else: path = os.path.join(profile,'news_tv.json')
        updates = open(path).read()
        field = sorted(field,key=lambda word: negtopos(updates.find('"id":'+word['id']+',')))
    except: pass
    if '25movies'in type: field=field[0:25]
    for data in field:
        #genre=str(data["genres"]).replace("u'",'').replace("'",'').replace("[",'').replace("]",'')
        if data['active'] == '1':
            thumb=str(data["poster"]).replace("\/'",'/')
            if 'movies'in type or '25movies'in type: main.addDown4(main.unescapes(str(data["title"].encode('utf-8')))+' ('+str(data["year"])+')',apibase+'/api/serials/get_movie_data?id='+str(data["id"]),279,thumb,'','','','','')
            elif 'music' in type: main.addDirMs(main.unescapes(str(data["title"].encode('utf-8'))),apibase+'/api/serials/get_artist_data/?id='+str(data["id"])+'&type=1',302,thumb,'','','','','')
            else: main.addDirT(main.unescapes(str(data["title"].encode('utf-8'))),data["id"]+'xoxe'+data["seasons"],280,thumb,'','','','','')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100)/totalLinks
        remaining_display = 'Content Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
        dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display)
        if dialogWait.iscanceled(): break
    main.VIEWS()
Exemple #5
0
def MList(mname, murl):
    mname = mname.split('[C')[0]
    link = main.OPENURL(murl)
    link = link.replace('\r',
                        '').replace('\n',
                                    '').replace('\t',
                                                '').replace(' ', '')
    r = re.findall('<poster>(.+?)</poster>', link)
    if r:
        vip = r[0]
    else:
        vip = 'Unknown'
    f = re.findall('<fanart>(.+?)</fanart>', link)
    if f:
        fan = f[0]
    else:
        fan = art + '/fanart2.jpg'
    info = re.findall(
        '<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>',
        link)
    if info:
        for msg, pic in info:
            main.addLink(msg, '', pic)
    popup = re.compile(
        '<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>'
    ).findall(link)
    for name, image, thumb in popup:
        main.addPlayc(name, image, 244, thumb, '', '', '', '', '')

    directory = re.compile(
        '<dir><name>([^<]+)</name.+?link>([^<]+)</link.+?thumbnail>([^<]+)</thumbnail></dir>'
    ).findall(link)
    for name, url, thumb in directory:
        main.addDir(name, url, 246, thumb)
    match = re.compile(
        '<subchannel><name>(.+?)</name.+?fanart>(.+?)</fanart.+?thumbnail>(.+?)</thumbnail.+?link>(.+?)</link></subchannel>'
    ).findall(link)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Movie list is cached.')
    totalLinks = len(match)
    loadedLinks = 0
    remaining_display = 'Movies loaded :: [B]' + str(
        loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
    dialogWait.update(0, '[B]Will load instantly from now on[/B]',
                      remaining_display)
    for name, fan, thumb, url in match:
        main.addDown4(name + ' [COLOR blue]' + vip + '[/COLOR]', url, 247,
                      thumb, '', fan, '', '', '')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = 'Movies loaded :: [B]' + str(
            loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
        dialogWait.update(percent, '[B]Will load instantly from now on[/B]',
                          remaining_display)
        if (dialogWait.iscanceled()):
            return False
    dialogWait.close()
    del dialogWait
    main.GA(vip + "-Directory", vip + "-Playlist")
Exemple #6
0
def MList(mname,murl):
        mname  = mname.split('[C')[0]
        link=main.OPENURL(murl)
        link=link.replace('\r','').replace('\n','').replace('\t','').replace('&nbsp;','')
        r=re.findall('<poster>(.+?)</poster>',link)
        if r:
                vip=r[0]
        else:
                vip='Unknown'
        f=re.findall('<fanart>(.+?)</fanart>',link)
        if f:
                fan=f[0]
        else:
                fan=art+'/fanart2.jpg'
        info=re.findall('<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>',link)
        if info:
            for msg,pic in info:
                main.addLink(msg,'',pic)
        popup=re.compile('<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>').findall(link)
        for name,image,thumb in popup:
                main.addPlayc(name,image,244,thumb,'',fan,'','','')
                
        directory=re.compile('<dir><name>([^<]+)</name.+?link>([^<]+)</link.+?thumbnail>([^<]+)</thumbnail></dir>').findall(link)
        for name,url,thumb in directory:
                main.addDirb(name,url,236,thumb,fan)
        
        match=re.compile('<title>([^<]+)</title.+?link>(.+?)</link.+?thumbnail>([^<]+)</thumbnail>').findall(link)
        dialogWait = xbmcgui.DialogProgress()
        ret = dialogWait.create('Please wait until Movie list is cached.')
        totalLinks = len(match)
        loadedLinks = 0
        remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
        dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display)
        for name,url,thumb in match:
                
                if '</sublink>' in url:
                        main.addDown4(name+' [COLOR blue]'+vip+'[/COLOR]',url,249,thumb,'',fan,'','','')
                        
                else:        
                        main.addDown4(name+' [COLOR blue]'+vip+'[/COLOR]',url,237,thumb,'',fan,'','','')
                loadedLinks = loadedLinks + 1
                percent = (loadedLinks * 100)/totalLinks
                remaining_display = 'Movies loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
                dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display)
                if (dialogWait.iscanceled()):
                        return False   
        dialogWait.close()
        del dialogWait
        main.GA(vip+"-Directory",vip+"-Playlist")
Exemple #7
0
def EPISODES(mname,murl):
    sea=re.findall('\sSeason\s(\d+)',mname,re.DOTALL)[0]
    getepi=apibase+'/api/serials/es/?id='+murl+'&season='+sea
    link=main.OPENURL(getepi,ua=useragent)
    match=re.findall('"(\d+)":"([^"]+?)"',link,re.DOTALL)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Episodes list is cached.')
    totalLinks = len(match)
    loadedLinks = 0
    remaining_display = 'Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
    dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display)
    xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
    for epinum,thumb in match:
        main.addDown4(mname+' Episode '+epinum,apibase+'/api/serials/e?h='+murl+'&u='+sea+'&y='+epinum,279,thumb.replace('\/','/'),'','','','','')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100)/totalLinks
        remaining_display = 'Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
        dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display)
        if dialogWait.iscanceled(): return False
Exemple #8
0
def MList(mname, murl):
    mname = mname.split("[C")[0]
    link = main.OPENURL(murl)
    link = link.replace("\r", "").replace("\n", "").replace("\t", "").replace("&nbsp;", "")
    r = re.findall("<poster>(.+?)</poster>", link)
    if r:
        vip = r[0]
    else:
        vip = "Unknown"
    f = re.findall("<fanart>(.+?)</fanart>", link)
    if f:
        fan = f[0]
    else:
        fan = art + "/fanart2.jpg"
    info = re.findall("<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>", link)
    if info:
        for msg, pic in info:
            main.addLink(msg, "", pic)
    popup = re.compile(
        "<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>"
    ).findall(link)
    for name, image, thumb in popup:
        main.addPlayc(name, image, 244, thumb, "", fan, "", "", "")

    directory = re.compile(
        "<dir><name>([^<]+)</name.+?link>([^<]+)</link.+?thumbnail>([^<]+)</thumbnail></dir>"
    ).findall(link)
    for name, url, thumb in directory:
        main.addDirb(name, url, 236, thumb, fan)

    match = re.compile("<title>([^<]+)</title.+?link>(.+?)</link.+?thumbnail>([^<]+)</thumbnail>").findall(link)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create("Please wait until Movie list is cached.")
    totalLinks = len(match)
    loadedLinks = 0
    remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]."
    dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display)
    for name, url, thumb in match:

        if "</sublink>" in url:
            main.addDown4(name + " [COLOR blue]" + vip + "[/COLOR]", url, 249, thumb, "", fan, "", "", "")
        elif "</referer>" in url:
            main.addDown4(name + " [COLOR blue]" + vip + "[/COLOR]", url, 259, thumb, "", fan, "", "", "")

        else:
            main.addDown4(name + " [COLOR blue]" + vip + "[/COLOR]", url, 237, thumb, "", fan, "", "", "")
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = "Movies loaded :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]."
        dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display)
        if dialogWait.iscanceled():
            return False
    dialogWait.close()
    del dialogWait
    main.GA(vip + "-Directory", vip + "-Playlist")
Exemple #9
0
def MList(mname, murl):
    mname = mname.split('[C')[0]
    link = main.OPENURL(murl)
    link = link.replace('\r',
                        '').replace('\n',
                                    '').replace('\t',
                                                '').replace('&nbsp;', '')
    r = re.findall('<poster>(.+?)</poster>', link)
    if r:
        vip = r[0]
    else:
        vip = 'Unknown'
    f = re.findall('<fanart>(.+?)</fanart>', link)
    if f:
        fan = f[0]
    else:
        fan = art + '/fanart2.jpg'
    info = re.findall(
        '<info><message>(.+?)</message><thumbnail>(.+?)</thumbnail></info>',
        link)
    if info:
        for msg, pic in info:
            main.addLink(msg, '', pic)
    popup = re.compile(
        '<popup><name>([^<]+)</name.+?popImage>([^<]+)</popImage.+?thumbnail>([^<]+)</thumbnail></popup>'
    ).findall(link)
    for name, image, thumb in popup:
        main.addPlayc(name, image, 244, thumb, '', fan, '', '', '')

    directory = re.compile(
        '<dir><name>([^<]+)</name.+?link>([^<]+)</link.+?thumbnail>([^<]+)</thumbnail></dir>'
    ).findall(link)
    for name, url, thumb in directory:
        main.addDirb(name, url, 236, thumb, fan)

    match = re.compile(
        '<title>([^<]+)</title.+?link>(.+?)</link.+?thumbnail>([^<]+)</thumbnail>'
    ).findall(link)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Movie list is cached.')
    totalLinks = len(match)
    loadedLinks = 0
    remaining_display = 'Movies loaded :: [B]' + str(
        loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
    dialogWait.update(0, '[B]Will load instantly from now on[/B]',
                      remaining_display)
    xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
    for name, url, thumb in match:

        if '</sublink>' in url:
            if '<SuperSearchThis!!!>' in link:
                main.addDown4(name + ' [COLOR blue]' + vip + '[/COLOR]', url,
                              21, thumb, '', fan, '', '', '')
            else:
                main.addDown4(name + ' [COLOR blue]' + vip + '[/COLOR]', url,
                              249, thumb, '', fan, '', '', '')
        elif '</referer>' in url:
            if '<SuperSearchThis!!!>' in link:
                main.addDown4(name + ' [COLOR blue]' + vip + '[/COLOR]', url,
                              21, thumb, '', fan, '', '', '')
            else:
                main.addDown4(name + ' [COLOR blue]' + vip + '[/COLOR]', url,
                              259, thumb, '', fan, '', '', '')
        elif '</dirlist>' in url:
            xurl = re.findall('<dirlist>(.+?)</dirlist>', url)[0]
            main.addDirb(name, xurl, 236, thumb, fan)
        elif '</noMeta>' in url:
            xurl = re.findall('<noMeta>(.+?)</noMeta>', url)[0]
            if '<SuperSearchThis!!!>' in link:
                main.addPlayc(name + ' [COLOR blue]' + vip + '[/COLOR]', xurl,
                              21, thumb, '', fan, '', '', '')
            else:
                main.addPlayc(name + ' [COLOR blue]' + vip + '[/COLOR]', xurl,
                              237, thumb, '', fan, '', '', '')
        else:
            if '<SuperSearchThis!!!>' in link:
                main.addDown4(name + ' [COLOR blue]' + vip + '[/COLOR]', url,
                              21, thumb, '', fan, '', '', '')
            else:
                main.addDown4(name + ' [COLOR blue]' + vip + '[/COLOR]', url,
                              237, thumb, '', fan, '', '', '')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = 'Movies loaded :: [B]' + str(
            loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
        dialogWait.update(percent, '[B]Will load instantly from now on[/B]',
                          remaining_display)
        if (dialogWait.iscanceled()):
            return False
    dialogWait.close()
    del dialogWait
    main.GA(vip + "-Directory", vip + "-Playlist")
Exemple #10
0
def LIST(type):
    path = os.path.join(profile, type.replace("25", "") + "_lite.json")
    f = open(path)
    field = json.loads(f.read())
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create("Please wait until Content list is cached.")
    if "25movies" in type:
        totalLinks = 25
    else:
        totalLinks = len(field)
    loadedLinks = 0
    remaining_display = "Content Cached :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]."
    dialogWait.update(0, "[B]Will load instantly from now on[/B]", remaining_display)
    xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
    field = sorted(field, key=lambda x: x["poster"], reverse=True)
    try:
        updates = ""
        if "movies" in type or "25movies" in type:
            path = os.path.join(profile, "news_movies.json")
        else:
            path = os.path.join(profile, "news_tv.json")
        updates = open(path).read()
        field = sorted(field, key=lambda word: negtopos(updates.find('"id":' + word["id"] + ",")))
    except:
        pass
    if "25movies" in type:
        field = field[0:25]
    for data in field:
        # genre=str(data["genres"]).replace("u'",'').replace("'",'').replace("[",'').replace("]",'')
        if data["active"] == "1":
            thumb = str(data["poster"]).replace("\/'", "/")
            if "movies" in type or "25movies" in type:
                main.addDown4(
                    main.unescapes(str(data["title"].encode("utf-8"))) + " (" + str(data["year"]) + ")",
                    apibase + "/api/serials/get_movie_data?id=" + str(data["id"]),
                    279,
                    thumb,
                    "",
                    "",
                    "",
                    "",
                    "",
                )
            elif "music" in type:
                main.addDirMs(
                    main.unescapes(str(data["title"].encode("utf-8"))),
                    apibase + "/api/serials/get_artist_data/?id=" + str(data["id"]) + "&type=1",
                    302,
                    thumb,
                    "",
                    "",
                    "",
                    "",
                    "",
                )
            else:
                main.addDirT(
                    main.unescapes(str(data["title"].encode("utf-8"))),
                    data["id"] + "xoxe" + data["seasons"],
                    280,
                    thumb,
                    "",
                    "",
                    "",
                    "",
                    "",
                )
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = "Content Cached :: [B]" + str(loadedLinks) + " / " + str(totalLinks) + "[/B]."
        dialogWait.update(percent, "[B]Will load instantly from now on[/B]", remaining_display)
        if dialogWait.iscanceled():
            break
    main.GA("Mbox", "List")
    main.VIEWS()