示例#1
0
文件: catiii.py 项目: noba3/KoTos
def LIST(murl):
    link=main.OPENURL(murl)
    link=link.replace('\r','').replace('\n','').replace('\t','').replace('  ','')
    match=re.compile('(?sim)<img src="([^"]+?)" alt="([^"]+?)" /></div>.+?<a href="([^"]+?)"><span>views</span>(.+?)</a>').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 thumb,name,url,views in match:
        main.addPlayM(name+' [COLOR red]('+views+')[/COLOR]',url,436,thumb,'','','','','')
        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(): break
    dialogWait.close()
    del dialogWait
    paginate = re.compile('Total Pages: (.+?)</li>',re.DOTALL).findall(link)
    if paginate:
        paginate=paginate[0]
        main.addDir('[COLOR red]Enter Page #[/COLOR]',murl,437,art+'/gotopage.png')
        page = re.compile('/page/(\d+)/',re.DOTALL).findall(murl)[0]
        nextpage=int(page)+1
        finalpage=re.sub('page/\d+?/', 'page/'+str(nextpage) + '/',murl)
        main.addDir('Page ' + str(page) + ' [COLOR blue]Next Page >>>[/COLOR]',finalpage,435,art+'/next2.png')     
    main.GA(prettyName,"List")
    main.VIEWS()
示例#2
0
文件: starplay.py 项目: noba3/KoTos
def AZLISTNB(murl):
    nrDomain = GetNewUrl()
    if selfAddon.getSetting("hide-download-instructions") != "true":
        main.addLink(
            "[COLOR red]For Download Options, Bring up Context Menu Over Selected Link.[/COLOR]",
            '', art + '/link.png')
    match = re.compile("href='(.+?)'>(.+?)</a>").findall(murl)
    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 url, name in match:
        name = fix_title(main.unescapes(name))
        url = nrDomain + url
        loadedLinks += 1
        name = name.decode('iso-8859-1').encode('utf8')
        main.addDown3(name, url, 58, '', '', loadedLinks)
        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("Noobroom", "List")
    main.VIEWS()
示例#3
0
def LISTSP3(murl):
    if murl == 'HD':
        url = 'http://board.dailyflix.net/index.php?/forum/196-hd-movies-2012-2013/page__sort_key__last_post__sort_by__Z-A'
    link = main.OPENURL(url)
    link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(
        '&nbsp;', '').replace('&#38;', '&')
    match = re.compile(
        '<a itemprop=".+?" id=".+?" href="([^<]+)" title=.+? class=.+?><span itemprop="name">(.+?)</span>'
    ).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 url, name in match:
        url = url.decode('utf-8').encode('ascii', 'ignore')
        name = main.unescapes(name)
        main.addPlayM(name, url, 54, '', '', '', '', '', '')
        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("HD-TV", "Dailyfix")
    main.VIEWS()
示例#4
0
def LISTSP3(murl):
    subpages = 3
    if murl == 'HD':
        page = 1
        max = subpages
    else:
        try:
            pages = murl.split(',', 1)
            page = int(pages[0])
            max = int(pages[1])
        except:
            page = 1
    url = 'http://rls1click.com/category/movies/1080p/'
    urls = []
    for n in range(subpages):
        if page + n == 1:
            urls.append(url)
        else:
            urls.append(url + "page/" + str(page + n) + "/")
        if page + n == max: break
    page = page + subpages - 1
    link = main.batchOPENURL(urls)
    if re.compile('"maxPages":"(\d+?)"').findall(link):
        max = int(re.compile('"maxPages":"(\d+?)"').findall(link)[0])


#     link=link.replace('\r','').replace('\n','').replace('\t','').replace('&nbsp;','').replace('&#38;','&')
    match = re.compile(
        '(?sim)<h1 class="post-title"><a href="([^"]+?)">([^<]+?)<.*?<img[^>]+?src="([^"]+?)"'
    ).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 url, title, thumb in match:
        url = url.decode('utf-8').encode('ascii', 'ignore')
        main.addPlayM(title, url, 408, thumb, '', '', '', '', '')
        loadedLinks = loadedLinks + 1
        try:
            percent = (loadedLinks * 100) / totalLinks
        except:
            percent = 100
        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(): break
    if page < max and loadedLinks >= totalLinks:
        main.addDir(
            'Page ' + str(page / subpages) +
            ' [COLOR blue]Next Page >>>[/COLOR]',
            str(page + 1) + ',' + str(max), 407, art + '/next2.png')
    dialogWait.close()
    del dialogWait
    main.GA("HD-TV", "Rls1Click")
    main.VIEWS()
示例#5
0
文件: fma.py 项目: noba3/KoTos
def LISTFMA(murl):
    link=main.OPENURL(murl)
    link=link.replace('\r','').replace('\n','').replace('\t','').replace('&nbsp;','')
    match=re.compile('<img class=\'.+?\' src=\'(.+?)\' alt=\'.+?\' />.+?<a class=\'.+?\' href=\'/(.+?)\'>(.+?)</a>.+?<a href=\'/movies/year/.+?\'>(.+?)</a>.+?<a href=\'/movies/genre/.+?\'>(.+?)</a>.+?</span><span class=".+?">(.+?)</span>').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 thumb,url,name, year, gen, desc in match:
        main.addPlayM(name,'http://www.freemoviesaddict.com/'+url,569,thumb,desc,'','',gen,year)
        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
    paginate = re.compile('<span class="pagination_next"><a class="pagination_link" href="(.+?)">').findall(link)
    if len(paginate)>0:
        main.addDir('Next','http://www.freemoviesaddict.com/'+paginate[0],568,art+'/next2.png')
    main.GA("FMA","list")
    xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
    main.VIEWS()
示例#6
0
def iWatchLISTMOVIES(murl):
        main.GA("Movies","List")   
        link=main.OPENURL(murl)
        link=link.replace('\r','').replace('\n','').replace('\t','').replace('&nbsp;','')
        match=re.compile('<li.+?<a.+?href=\"(.+?)\".+?<img.+?src=\"(.+?)\".+?<div class=\"title.+?>(.+?)<div').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 url,thumb,name in match:    
                main.addDirIWO(name,url,588,thumb,'','','','','')
                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
        if len(match)==25:
            paginate=re.compile('([^<]+)start=([^<]+)').findall(murl)
            for purl,page in paginate:
                i=int(page)+25
                pg=(int(page)/25)+2
                if pg >2:
                    main.addDir('[COLOR red]Home[/COLOR]','',2000,art+'/home.png')
                main.addDir('[COLOR blue]Page '+ str(pg)+'[/COLOR]',purl+'start='+str(i),587,art+'/next2.png')
                main.addDir('[COLOR red]Enter Page #[/COLOR]',murl,654,art+'/gotopage.png')
        xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
        main.VIEWS()
示例#7
0
def INDEX2(url):
    html = main.OPENURL2(url)
    if html == None:
        return
    pattern = 'title="Watch online: ([^"]*)" href="/([^"]*)"><img border="0" alt=".+?" src="([^"]*)"></a>'
    r = re.findall(r''+pattern+'', html, re.M|re.DOTALL)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until list is cached.')
    totalLinks = len(r)
    loadedLinks = 0
    remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
    dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display)
    for name, nurl,thumb in r:
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100)/totalLinks
        remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
        dialogWait.update(percent,'[B]Will load instantly from now on[/B]',remaining_display)
        url = BASE_URL+nurl
        main.addDirM(name,url,1026,'http://www.tubeplus.me'+thumb,'','','','','')
        if (dialogWait.iscanceled()):
            return False
    if re.findall(r'<div id="paging">', html):
        r = re.findall('\<li title="Page (\d+)"\>.+?"\>(\d+)(?=\<\/a\>\<\/li\>\<li title="Next Page"\>\<a href="/(.+?)")',html)
        for current, total, npurl in r:
            name = '[COLOR=FF67cc33]Page '+current+' of '+total+', Next Page >>>[/COLOR]'
            main.addDir(name, BASE_URL+npurl, 1048, art+'/nextpage.png')
            url = url+':'+total
            name = '[COLOR=FF67cc33]Goto Page[/COLOR]'
            main.addDir(name, url, 1028, art+'/gotopagetr.png')
    main.VIEWS()    
    dialogWait.close()
示例#8
0
def iWatchLISTSHOWS(murl, index=False):
    main.GA("Tvshows", "List")
    link = main.OPENURL(murl)
    link = link.replace('\r',
                        '').replace('\n',
                                    '').replace('\t',
                                                '').replace('&nbsp;', '')
    videos = re.search('<ul class="thumbnails">(.+?)</ul>', link)
    if videos:
        videos = videos.group(1)
        match = re.compile(
            '<li.+?<a[^>]+?href=\"([^"]+?)\".+?<img[^>]+?src=\"([^"]+?)\".+?<div class=\"title[^>]+?>([^>]+?)<div'
        ).findall(videos)
        for url, thumb, name in match:
            main.addDirT(name,
                         url,
                         590,
                         thumb,
                         '',
                         '',
                         '',
                         '',
                         '',
                         index=index)
        if len(match) == 25:
            paginate = re.compile('([^<]+)&p=([^<]+)').findall(murl)
            for purl, page in paginate:
                i = int(page) + 25
                main.addDir('[COLOR blue]Next[/COLOR]',
                            purl + '&p=' + str(i),
                            589,
                            art + '/next2.png',
                            index=index)
        xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
        main.VIEWS()
示例#9
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()
示例#10
0
def iWatchLISTMOVIES(murl, index=False):
    main.GA("Movies", "List")
    link = main.OPENURL(murl)
    link = link.replace('\r',
                        '').replace('\n',
                                    '').replace('\t',
                                                '').replace('&nbsp;', '')
    videos = re.search('<ul class="thumbnails">(.+?)</ul>', link)
    if videos:
        videos = videos.group(1)
        match = re.compile(
            '<li.+?<a.+?href=\"(.+?)\".+?<img.+?src=\"(.+?)\".+?<div class=\"title.+?>(.+?)<div'
        ).findall(videos)
        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 url, thumb, name in match:
            if index == 'True':
                main.addDirIWO(name, url, 21, thumb, '', '', '', '', '')
            else:
                main.addDirIWO(name, url, 588, thumb, '', '', '', '', '')
            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()): break
        dialogWait.close()
        del dialogWait
        if len(match) == 25 and loadedLinks == 25:
            print "poooooooooooooop" + murl
            paginate = re.compile('(http://.+?&)p=(\d+)').findall(murl)
            for purl, page in paginate:
                i = int(page) + 25
                pg = (int(page) / 25) + 2
                #                 if pg >2:
                #                     main.addDir('[COLOR red]Home[/COLOR]','',2000,art+'/home.png')
                main.addDir('[COLOR red]Enter Page #[/COLOR]',
                            murl,
                            654,
                            art + '/gotopage.png',
                            index=index)
                main.addDir('[COLOR blue]Page ' + str(pg) + '[/COLOR]',
                            purl + 'p=' + str(i),
                            587,
                            art + '/next2.png',
                            index=index)
        xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
        main.VIEWS()
示例#11
0
文件: icefilms.py 项目: noba3/KoTos
def LISTICE(murl, index=False):
    link = main.OPENURL(IceURL + murl)
    link = cleanHex(link)
    if '/tv/' in murl:
        match = re.compile(
            '<a name=i id=(\d+)></a><img class=star><a href=(/tv[^<]+?)>([^<]+?)</a>(.)*?<br>',
            re.DOTALL).findall(link)
        main.GA("TV", "IceFilms")
    else:
        main.addDir('Search for Movies', 'Movies', 286, art + '/search.png')
        match = re.compile(
            '<a name=i id=(\d+)></a><img class=star><a href=(/ip[^>]+?)>([^<]+?)</a>(.)*?<br>',
            re.DOTALL).findall(link)
        main.GA("HD", "IceFilms")
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Movie/Show list is cached.')
    totalLinks = len(match)
    loadedLinks = 0
    remaining_display = 'Movies/Shows 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 imdb, url, title, hd in match:
        if hd: title += ' [COLOR red]HD[/COLOR]'
        title = re.sub('\s\s+', ' ', title)
        if '/tv/' in murl:
            main.addDirT(title.strip(),
                         IceURL + url,
                         289,
                         '',
                         '',
                         '',
                         '',
                         '',
                         '',
                         index=index)
        else:
            if index == 'True':
                main.addDirM(title.strip(), IceURL + url, 21, '', '', '', '',
                             '', '', imdb)
            else:
                main.addDirM(title.strip(), IceURL + url, 283, '', '', '', '',
                             '', '', imdb)
        loadedLinks += 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = 'Movies/Shows loaded :: [B]' + str(
            loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
        dialogWait.update(percent, '[B]Will load instantly from now on[/B]',
                          remaining_display)
        if dialogWait.iscanceled(): break
    dialogWait.close()
    del dialogWait
    main.VIEWS()
示例#12
0
def LISTSP2(murl):
        if murl=='3D':
                xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,5000)")
                main.addDir('Search Newmyvideolinks','movieNEW',102,art+'/search.png')
                check=main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/')
                match=re.compile('<p><a href=".+?" >Next Page &raquo;</a></p>').findall(check)
                if len(match)>0:
                        urllist=main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/page/2/')
                else:
                        urllist=main.OPENURL('http://www.myvideolinks.eu/category/movies/3-d-movies/')
        elif murl=='TV':
                xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,10000)")
                main.addDir('Search Newmyvideolinks','tvNEW',102,art+'/search.png')
                urllist=main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/2/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/3/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/4/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/5/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/6/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/7/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/8/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/9/')+main.OPENURL('http://www.myvideolinks.eu/category/tv-shows/page/10/')
        else:
                xbmc.executebuiltin("XBMC.Notification(Please Wait!,Collecting Source Data,10000)")
                main.addDir('Search Newmyvideolinks','movieNEW',102,art+'/search.png')
                urllist=main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/2/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/3/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/4/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/5/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/6/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/7/')+main.OPENURL('http://www.myvideolinks.eu/category/movies/bluray/page/8/')
        
        if urllist:
                urllist=main.unescapes(urllist)
                #link=main.OPENURL(xurl)
                match=re.compile("""<a href=".+?" rel=".+?" title=".+?"> <img src="(.+?)" width=".+?" height=".+?" title="(.+?)" class=".+?"></a><h4><a href="(.+?)" rel""").findall(urllist)

                dialogWait = xbmcgui.DialogProgress()
                ret = dialogWait.create('Please wait until Movie list is cached.')
                totalLinks = len(match)
                loadedLinks = 0
                remaining_display = 'Movies/Episodes Cached :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
                dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display)
                if len(match)>0:
                        for thumb,name,url in match:
                                if murl=='TV':
                                        match=re.compile('720p').findall(name)
                                        if (len(match)>0):
                                                main.addDirTE(name,url,35,thumb,'','','','','')
                                     
                                else:
                                        main.addDirM(name,url,35,thumb,'','','','','')
                                        xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
                                loadedLinks = loadedLinks + 1
                                percent = (loadedLinks * 100)/totalLinks
                                remaining_display = 'Movies/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   
 
        dialogWait.close()
        del dialogWait
        main.GA("HD-3D-HDTV","Newmyvideolinks")
        main.VIEWS()
示例#13
0
def ListSceneLogItems(murl, quality='all'):
    if murl.startswith('Movies'):
        main.addDir('Search SceneLog', 'Movies', 659, art + '/search.png')
        subpages = 5
        category = "movies"
    elif murl.startswith('TV'):
        main.addDir('Search SceneLog', 'TV', 659, art + '/search.png')
        subpages = 5
        category = "tv-shows"
    parts = murl.split('-', 1)
    max = subpages
    try:
        pages = parts[1].split(',', 1)
        page = int(pages[0])
        max = int(pages[1])
        murl = parts[0]
    except:
        page = 0
    page = page * subpages
    html = ''
    urls = []
    for n in range(subpages):
        if page + n + 1 > max: break
        urls.append('http://scnlog.eu/' + category + '/page/' +
                    str(page + n + 1) + '/')
    cached_path = os.path.join(
        os.path.join(main.datapath, 'Temp'),
        filename + '_' + murl + "-" + str(page) + '.cache')
    cached = main.getFile(cached_path)
    if cached:
        xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
        html = cached
    else:
        html = main.batchOPENURL(urls)
        main.setFile(cached_path, html)
    hasNextPage = re.compile('<strong>&raquo;</strong>').findall(html)
    if len(hasNextPage) < subpages:
        page = None
    hasMax = re.compile('page/(\d+)/">Last &raquo;').findall(html)
    if hasMax:
        max = hasMax[0]
    if html:
        ShowSceneLogItems(html, murl, quality)
        if not page is None:
            main.addDir('Page ' + str(page / subpages + 1) + ', Next Page >>>',
                        murl + "-" + str(page / subpages + 1) + "," + max, 657,
                        art + '/next2.png')
    main.GA("Movies-TV", "SceneLog")
    main.VIEWS()
示例#14
0
def iWatchLISTSHOWS(murl):
        main.GA("Tvshows","List")
        link=main.OPENURL(murl)
        link=link.replace('\r','').replace('\n','').replace('\t','').replace('&nbsp;','')
        match=re.compile('<li.+?<a.+?href=\"(.+?)\".+?<img.+?src=\"(.+?)\".+?<div class=\"title.+?>(.+?)<div').findall(link)
        for url,thumb,name in match:
                main.addDirT(name,url,590,thumb,'','','','','')
        print len(match)
        if len(match)==25:
            paginate=re.compile('([^<]+)start=([^<]+)').findall(murl)
            for purl,page in paginate:
                i=int(page)+25
                main.addDir('[COLOR blue]Next[/COLOR]',purl+'start='+str(i),589,art+'/next2.png')
        xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
        main.VIEWS()
示例#15
0
def LISTSHOWS(murl, channel, CachePath, index=False):
    cacheFilePath = os.path.join(CachePath, cacheFileName)
    channel = channel.replace('[COLOR red]',
                              '').replace(' Past Shows[/COLOR]', '')
    label = 'TV Show'
    if re.search('movie', murl, re.I):
        label = 'Movies'
    if checkCache(murl, channel, cacheFilePath):
        buildCache(murl, channel, cacheFilePath, index)
        loadFromCache(murl, channel, cacheFilePath)
    else:
        loadFromCache(murl, channel, cacheFilePath)
    xbmcplugin.setContent(int(sys.argv[1]), label)
    if label == 'Movies':
        main.setSeasonView()
    else:
        main.VIEWS()
示例#16
0
def LIST(mname,murl):
        main.GA("SominalTv","List")
        if mname=='Hindi':
                main.addDir('Hindi English Subtitled','http://www.sominaltvfilms.com/category/hindi-movies-english-subtitles',620,art+'/subtitled.png')
                main.addDir('Hindi BluRay','http://www.sominaltvfilms.com/category/hindi-blurays',620,art+'/bluray.png')
        elif mname=='Telugu':
                main.addDir('Telugu English Subtitled','http://www.sominaltvfilms.com/category/telugu-movies-english-subtitles',620,art+'/subtitled.png')
                main.addDir('Telugu BluRay','http://www.sominaltvfilms.com/category/telugu-blurays',620,art+'/bluray.png')
        elif mname=='Tamil':
                main.addDir('Tamil English Subtitled','http://www.sominaltvfilms.com/category/tamil-movies-english-subtitles',620,art+'/subtitled.png')
                main.addDir('Tamil BluRay','http://www.sominaltvfilms.com/category/tamil-blurays',620,art+'/bluray.png')
        elif mname=='Malayalam':
                main.addDir('Malayalam English Subtitled','http://www.sominaltvfilms.com/category/malayalam-movies-english-subtitles',620,art+'/subtitled.png')
        elif mname=='Punjabi':
                main.addDir('Punjabi English Subtitled','http://www.sominaltvfilms.com/category/punjabi-movies-english-subtitles',620,art+'/subtitled.png')
        elif mname=='All Hindi Dubbed Movies':
                main.addDir('Dubbed BluRay','http://www.sominaltvfilms.com/category/hindi-dubbed-blurays',620,art+'/bluray.png')
        link=main.OPENURL(murl)
        link=link.replace('\r','').replace('\n','').replace('\t','').replace('&nbsp;','')
        match=re.compile("""<a href="([^<]+)"><img src="(.+?)" alt="(.+?)"/>.+?<div class='description'>.+?<p>(.+?)</p>""").findall(link)
                                                        
        dialogWait = xbmcgui.DialogProgress()
        ret = dialogWait.create('Please wait until Show 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 url,thumb,name,desc in match:
                desc=desc.replace('  ','')
                name=main.unescapes(name)
                main.addDirM(name,url,621,thumb,desc,thumb,'','','')
                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
        paginate = re.compile("""<a class="nextpostslink" href="(.+?)">.+?</a>""").findall(link)
        if len(paginate)>0:
            main.addDir('Next',paginate[0],620,art+'/next2.png')
        main.VIEWS()
示例#17
0
def LISTSP5(murl):
    nrDomain = GetNewUrl()
    murl = nrDomain + '/latest.php'
    lurl = nrDomain + '/login2.php'
    log_in = net().http_POST(lurl, {'email': user, 'password': passw}).content
    link = net().http_GET(murl).content
    r = re.findall('Membership by invitation only', link)
    if r:
        xbmc.executebuiltin(
            "XBMC.Notification(Sorry!,Email or Password Incorrect,10000," +
            smalllogo + ")")
    match = re.compile("<br>(.+?) - <a[^>]+?href='(.+?)'>(.+?)</a>").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)
    id = totalLinks
    for year, url, name in match:
        name = main.unescapes(name)
        if (year == '0'):
            year = '0000'
        url = nrDomain + url
        main.addDown3(name + ' [COLOR red](' + year + ')[/COLOR]', url, 58, '',
                      '', id)
        id -= 1
        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("HD", "Starplay")
    main.VIEWS()
示例#18
0
def LISTMOVIES(murl):
    main.GA(prettyName, "List")
    link = main.OPENURL(murl)
    link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(
        '&nbsp;', '').replace('\\', '')
    match = re.compile(
        '''<a href="([^<]+)" rel="bookmark" title=".+?">(.+?)</a></h2><div.+?<img.+?src="(.+?)".*?http://www.imdb.com/title/([t\d]+?)[/"']''',
        re.DOTALL).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 url, name, thumb, imdb in match:
        name = main.CleanTitle(name)
        if re.findall('\ss(\d+)\s', name, re.I):
            main.addPlayT(name, url, 390, thumb, '', '', '', '', '')
        else:
            main.addPlayM(name, url, 390, thumb, '', '', '', '', '')
        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(): break
    dialogWait.close()
    del dialogWait
    paginate = re.compile(
        '<a class="nextpostslink"[^>]+?href="([^"]+)"').findall(link)
    if paginate and loadedLinks >= totalLinks:
        main.addDir('Next', paginate[0], 389, art + '/next2.png')
    main.VIEWS()
示例#19
0
def LISTSP3(murl):
    subpages = 5
    if murl == 'HD':
        page = 1
        max = 100
    else:
        try:
            pages = murl.split(',', 1 );
            page = int(pages[0])
            max = int(pages[1])
        except:
            page = 1
#         http://www.filestube.to/query.html?q=1080p+bluray+-esubs+-msubs+-subs&hosting=85&select=mkv&sizefrom=6000&sizeto=20000&sort=dd&page=1
    hosts = ""
    possiblehosts = (
                     ["lumfile.com","85"],
                     ["turbobit.net","40"],
#                      ["fileom.com","106"],
#                      ["letitbit.net","25"],
                     ) 
    for h,n in possiblehosts:
        if main.supportedHost(h): hosts += n+"%2C"
    hosts = hosts.rstrip("%2C")  
    url='http://www.filestube.to/query.html?q=1080p+bluray+-esubs&hosting='+hosts+'&select=mkv&sizefrom=5000&sizeto=20000&sort=dd'
    urls = []
    for n in range(subpages):
        urls.append(url+"&page="+str(page+n))
        if page+n == max: break
    page = page + subpages - 1
    link=main.batchOPENURL(urls)
#         print link
    next = len(re.compile('>&#9658;</a>').findall(link)) == subpages
    link=link.replace('\r','').replace('\n','').replace('\t','').replace('&nbsp;','').replace('&#38;','&')
    match=re.compile('(?sim)<a href="([^"]+?)"[^>]*?class="rL"[^>]*?>(.+?)</a>.*?class="eT.*?<b>([^>]*?)<').findall(link)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until Movie list is cached.')
    match1 = []
    for url, name, hostsite in match:
        name = name.replace('<b>','').replace('</b>','')
        name=main.unescapes(name)
        if not re.search('(?i)(\\bsubs\\b|\\msubs\\b|fetish)',name) and re.search('(?i)(20\d\d|19\d\d)',name):
            match1.append((url,name,hostsite))
    match = match1
    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 url, name, hostsite in match:
        url = url.decode('utf-8').encode('ascii', 'ignore')
        url = 'http://www.filestube.to' + url
        main.addPlayM(name.strip() + " [COLOR red]" + hostsite + "[/COLOR]",url,406,'','','','','','')
        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(): break
    if next and loadedLinks >= totalLinks:
        main.addDir('Page ' + str(page/subpages) + ' [COLOR blue]Next Page >>>[/COLOR]',str(page+1)+','+str(max),405,art+'/next2.png')
    dialogWait.close()
    del dialogWait
    main.GA("HD-TV","FilesTube")
    main.VIEWS()
示例#20
0
def LISTSP3(murl):
    subpages = 5
    if murl == 'HD':
        page = 1
        max = subpages
    else:
        try:
            pages = murl.split(',', 1)
            page = int(pages[0])
            max = int(pages[1])
        except:
            page = 1
    url = 'http://dl4free.me/forumdisplay.php?fid=42'
    urls = []
    for n in range(subpages):
        urls.append(url + "&page=" + str(page + n))
        if page + n == max: break
    page = page + subpages - 1
    link = main.batchOPENURL(urls)
    if re.compile('class="pagination_last">(\d+?)</a>').findall(link):
        max = int(
            re.compile('class="pagination_last">(\d+?)</a>').findall(link)[0])
    link = link.replace('\r', '').replace('\n', '').replace('\t', '').replace(
        '&nbsp;', '').replace('&#38;', '&')
    match = re.compile(
        '(?sim)<a href="([^"]+?)" class="[^"]+?" id="[^"]+?">([^<]+?)</a></span>\s*?<div class="author smalltext"><a href="[^"]+?">(wroser|BollyCorner)</a></div>'
    ).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 url, name, user in match:
        url = url.decode('utf-8').encode('ascii', 'ignore')
        url = 'http://dl4free.me/' + url
        name = main.unescapes(name)
        if not re.search('(?i)avc', name) and re.search('(?i)1080p?', name):
            main.addPlayM(name, url, 408, '', '', '', '', '', '')
            loadedLinks = loadedLinks + 1
        else:
            totalLinks -= 1
        try:
            percent = (loadedLinks * 100) / totalLinks
        except:
            percent = 100
        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
    if page < max:
        main.addDir(
            'Page ' + str(page / subpages) +
            ' [COLOR blue]Next Page >>>[/COLOR]',
            str(page + 1) + ',' + str(max), 407, art + '/next2.png')
    dialogWait.close()
    del dialogWait
    main.GA("HD-TV", "DL4Free")
    main.VIEWS()
示例#21
0
文件: tvrelease.py 项目: noba3/KoTos
def INDEX(url):
    types = []
    SearchType = None
    if '!' in url:
        r = url.rpartition('!')
        print r
        url = r[0]
        SearchType = r[2]
    else:
        url = url
    if 'cat=TV' in url:
        types = 'tv'
    elif 'cat=Movies' in url:
        types = 'movie'
    html = GETHTML(url)
    if html == None:
        return
    pattern = '<tr><td[^>]*?><a [^>]*?>([^<]*?)</a></td><td[^>]*?><a href=\'([^\']*?)\'[^>]*?>([^<]*?)<'
    r = re.findall(pattern, html, re.I | re.M | re.DOTALL)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until list is cached.')
    totalLinks = len(r)
    loadedLinks = 0
    remaining_display = 'Media loaded :: [B]' + str(loadedLinks) + ' / ' + str(
        totalLinks) + '[/B].'
    dialogWait.update(0, '[B]Will load instantly from now on[/B]',
                      remaining_display)
    for tag, url, name in r:
        if re.search('(?i)WEB-DL', name): tag = tag.strip() + " WEB-DL"
        if re.findall('\d{4}p', name):
            r = re.findall('(.+?)\s(\d+p)', name)
            for name, quality in r:
                tag = tag.replace('720p', quality)
                pass
        if re.findall('\ss\d+e\d+\s', name, re.I | re.DOTALL):
            r = re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I)
            for name, season, episode in r:
                name = name + ' S' + season + 'E' + episode
        elif re.findall('\s\d{4}\s\d{2}\s\d{2}\s', name):
            r = re.findall('(.+?)\s(\d{4})\s(\d{2})\s(\d{2})\s', name)
            for name, year, month, day in r:
                name = name + ' ' + year + ' ' + month + ' ' + day
        elif re.findall('\shdtv\sx', name, re.I):
            r = re.findall('(.+?)\shdtv\sx', name, re.I)
            for name in r:
                pass
        name = re.sub('\s\s+', ' ', name).strip()
        name = name + ' [COLOR red]' + re.sub('(?sim)^(TV-|Movies-)(.*)',
                                              '\\2', tag) + '[/COLOR]'
        if SearchType == None:
            if 'TV' in tag:
                main.addDirTE(main.CleanTitle(name), url, 1003, '', '', '', '',
                              '', '')
            elif 'Movies' in tag:
                if re.findall('\s\d+\s', name):
                    r = name.rpartition('\s\d{4}\s')
                main.addDirM(main.CleanTitle(name), url, 1003, '', '', '', '',
                             '', '')
        elif SearchType == 'tv' and 'TV' in tag:
            main.addDirTE(main.CleanTitle(name), url, 1003, '', '', '', '', '',
                          '')
        elif SearchType == 'movie' and 'Movies' in tag:
            r = name.rpartition('\s\d{4}\s')
            main.addDirM(main.CleanTitle(name), url, 1003, '', '', '', '', '',
                         '')

        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = 'Media loaded :: [B]' + str(
            loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
        dialogWait.update(percent, '[B]Will load instantly from now on[/B]',
                          remaining_display)
        if dialogWait.iscanceled(): break
    dialogWait.close()
    del dialogWait
    if "<div class='zmg_pn'" in html and loadedLinks >= totalLinks:
        r = re.findall(
            """<span class='zmg_pn_current'>(\d+?)</span>[^<]*?<span class='zmg_pn_standar'><a href="([^"]+?)">""",
            html, re.I | re.DOTALL | re.M)
        total = re.findall('">(\d+)</a></span>', html)
        if total: total = total[-1]
        else: total = "1"
        for current, url in r:
            name = 'Page ' + current + ' of ' + total + ' [COLOR green]Next Page >>>[/COLOR]'
            main.addDir('[COLOR green]Go to Page[/COLOR]', url + ':' + total,
                        1002, art + '/gotopagetr.png')
            main.addDir(name, url.replace('%5C', ''), 1001,
                        art + '/nextpage.png')
    main.VIEWS()
示例#22
0
def GENRES(url):
    Curl = url
    html = main.OPENURL2(url)
    if html == None:
        return
    r = re.findall(r'{value:1, te(.+?)var selected_genre', html, re.M)
    pattern = 'xt: "(.+?)"'
    r = re.findall(r''+pattern+'', str(r), re.I|re.DOTALL)
    res_genre = []
    res_url = []
    for genre in r:
        res_genre.append(genre.encode('utf8'))
        res_url.append(genre.encode('utf8'))
    dialog = xbmcgui.Dialog()
    ret = dialog.select('Choose Genre', res_genre)
    if ret == -1:
        return
    elif ret >= 0:
        genre = res_url [ret - 0]
        url = url+genre+'/ALL/'
    try:
        html = main.OPENURL2(url)
        #html = html.replace('xc2\x92', "'")
        if html == None:
            print 'html None'
            return
    except:#Mash can you add your error calling function
        pass#remove the pass and add call to your error routine
    r = re.findall(r'Alphabetically \[\<b\>'+genre+', ALL\<\/b\>\]\<\/div\>(.+?)\<div id=\"list_footer\"\>\<\/div\>', html, re.I|re.M|re.DOTALL)
    pattern = 'title="Watch online: ([^"]*)" href="/([^"]*)"><img border="0" alt=".+?" src="([^"]*)"></a>'
    r = re.findall(pattern, str(r), re.I|re.M|re.DOTALL)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until list is cached.')
    totalLinks = len(r)
    loadedLinks = 0
    remaining_display = 'Media 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 r:
        url = BASE_URL+url
        if 'tv-shows' in Curl:
             main.addDir(name,url,1049,'http://www.tubeplus.me'+thumb)

        else:
            name = name.replace('\\','').replace('xc2x92','')
            main.addDirM(name,url,1026,'http://www.tubeplus.me'+thumb,'','','','','')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100)/totalLinks
        remaining_display = 'Media 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()
    if re.findall(r'<div id="paging">', html):
        r = re.findall('\<li title="Page (\d+)"\>.+?"\>(\d+)(?=\<\/a\>\<\/li\>\<li title="Next Page"\>\<a href="/(.+?)")',html)
        for current, total, npurl in r:
            name = '[COLOR=FF67cc33]Page '+current+' of '+total+', Next Page >>>[/COLOR]'
            main.addDir(name, BASE_URL+npurl, 1048, art+'/nextpage.png')
            url = url+':'+total
            name = '[COLOR=FF67cc33]Goto Page[/COLOR]'
            main.addDir(name, url, 1028, art+'/gotopagetr.png')
    main.VIEWS()
示例#23
0
文件: sceper.py 项目: noba3/KoTos
def LISTSCEPER(name, murl):
    main.GA("Sceper", "List")
    link = main.OPENURL(murl, timeout=10, cookie="sceper")
    if "setCookie(" in link:
        import time
        from cookielib import Cookie
        cookieList = []
        t = time.time() + 259200
        c = Cookie(version=False,
                   name='hasVisitedSite',
                   value='Yes',
                   port=None,
                   port_specified=False,
                   domain='',
                   domain_specified=False,
                   domain_initial_dot=False,
                   path='/',
                   path_specified=True,
                   secure=False,
                   expires=t,
                   discard=True,
                   comment=None,
                   comment_url=None,
                   rest={},
                   rfc2109=False)
        cookieList.append(c)
        link = main.OPENURL(murl,
                            timeout=10,
                            cookie="sceper",
                            setCookie=cookieList)
    i = 0
    audiolist = []
    desclist = []
    genrelist = []
    link = link.replace('\xc2\xa0', '').replace('\n', '')
    audio = re.compile('>Audio:</.+?>([^<]+?)<').findall(link)
    if len(audio) > 0:
        for aud in audio:
            audiolist.append(aud)
    else:
        audiolist.append('Audio Unknown')
    descr = re.compile('>Release Description</div><p>([^<]+?)</p>').findall(
        link)
    if len(descr) > 0:
        for desc in descr:
            desc = desc.replace('</span><span style="font-family: arial"> ',
                                '').replace('<span style="color: #ff0000;">',
                                            '').replace('</span>', '')
            desclist.append(desc)
    else:
        desclist.append('Description Unavailable')
    genre = re.compile('>Genre:</span>([^<]+?)<br').findall(link)
    if len(genre) > 0:
        for gen in genre:
            gen = gen.replace('</span><span style="font-family: arial"> ',
                              '').replace('<span style="color: #ff0000;">',
                                          '').replace('</span>', '')
            genrelist.append(gen)
    else:
        genrelist.append('Genre Unknown')
    match = re.compile(
        '<a href="([^<]+)">([^<]+)</a></h2>\t\t<div class="[^"]+?">\t\t\t\t<div class="[^"]+?">Release Info</div><p><a href="([^"]+?)"'
    ).findall(link)
    if match:
        main.addDir('Search', 's', 543, art + '/search.png')
    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 url, name, thumb in match:

        if len(audiolist) < 8:
            audiolist.append('Audio Unknown')
        if len(desclist) < 8:
            desclist.append('Description Unavailable')
        if len(genrelist) < 8:
            genrelist.append('Genre Unknown')
        sname = name
        data = re.findall('([^<]+)\s\(?(\d{4})\)?\s([^<]+)', sname)
        for title, date, quality in data:
            sname = processTitle(title, quality)
            name = title + ' (' + date + ') ' + sname
        main.addPlayM(
            name.strip() + ' [COLOR blue]' + audiolist[i].strip() + '[/COLOR]',
            url, 544, thumb, desclist[i], '', '', genrelist[i], '')
        i = i + 1
        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(): break
    dialogWait.close()
    del dialogWait
    paginate = re.compile(
        '<a class="nextpostslink" rel="next" href="([^"]+)">').findall(link)
    if paginate and loadedLinks >= totalLinks:
        main.addDir('Next', paginate[0], 541, art + '/next2.png')
    main.VIEWS()
示例#24
0
def INDEX(url):
    types = []
    SearchType = None
    if '!' in url:
        r = url.rpartition('!')
        print r
        url = r[0]
        SearchType = r[2]
    else:
        url = url
    if '/tvshows/' in url:
        types = 'tv'
    elif '/movies/' in url:
        types = 'movie'
    html = GETHTML(url)
    if html == None:
        return
    pattern = 'tag">(.+?)</a>.+?text-align:left.+?a href="(.+?)"><b><font size="\d+px">(.+?)</font>'
    r = re.findall(pattern, html, re.I|re.M|re.DOTALL)
    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until list is cached.')
    totalLinks = len(r)
    loadedLinks = 0
    remaining_display = 'Media loaded :: [B]'+str(loadedLinks)+' / '+str(totalLinks)+'[/B].'
    dialogWait.update(0,'[B]Will load instantly from now on[/B]',remaining_display)
    for tag, url, name in r:
        if re.findall('\ss\d+e\d+\s', name, re.I|re.DOTALL):
            r = re.findall('(.+?)\ss(\d+)e(\d+)\s', name, re.I)
            for name, season, episode in r:
                name = name+' Season '+season+' Episode '+episode+' ('+season+'x'+episode+')'
        elif re.findall('\s\d{4}\s\d{2}\s\d{2}\s', name):
            r = re.findall('(.+?)\s(\d{4})\s(\d{2})\s(\d{2})\s',name)
            for name, year, month, day in r:
                name = name+' '+year+' '+month+' '+day
        elif re.findall('\d+p\s', name):
            r = re.findall('(.+?)\s\d+p\s', name)
            for name in r:
                pass
        elif re.findall('\shdtv\sx', name, re.I):
            r = re.findall('(.+?)\shdtv\sx',name, re.I)
            for name in r:
                pass
        name = name+' [COLOR blue]'+tag+'[/COLOR]'
        if SearchType == None:
            if 'TV' in tag:
                main.addDirTE(name,url,1003,'','','','','','')
            elif 'Movies' in tag:
                if re.findall('\s\d+\s',name):
                    r = name.rpartition('\s\d{4}\s')
                main.addDirM(name,url,1003,'','','','','','')
        elif SearchType == 'tv' and 'TV' in tag:
            main.addDirTE(name,url,1003,'','','','','','')
        elif SearchType == 'movie' and 'Movies' in tag:
            r = name.rpartition('\s\d{4}\s')
            main.addDirM(name,url,1003,'','','','','','')
        
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100)/totalLinks
        remaining_display = 'Media 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
    if '<!-- Zamango Pagebar 1.3 -->' in html:
        r = re.findall('<span class=\'zmg_pn_current\'>(\d+)</span>\n<span class=\'zmg_pn_standar\'><a href=\'(http://tv-release.net/category/.+?/\d+)\' title=\'Page \d+ of (\d+)\'>\d+</a>',html, re.I|re.DOTALL|re.M)
        if len(r) == 0:
            r = re.findall('<span class=\'zmg_pn_current\'>(\d+)</span>\n<span class=\'zmg_pn_standar\'><a href=\'(http://tv-release.net/page/\d+\?.+?)\' title=\'Page \d+ of (\d+)\'>\d+</a>', html, re.I|re.DOTALL|re.M)
        for current, url, total in r:
            name = '[COLOR green]Page '+current+' of '+total+', Next Page >>>[/COLOR]'
            main.addDir(name, url.replace('%5C',''), 1001, art+'/nextpage.png')
            url = url+':'+total
            name = '[COLOR green]Goto Page[/COLOR]'
            main.addDir(name, url, 1002, art+'/gotopagetr.png')
    main.VIEWS()
示例#25
0
文件: starplay.py 项目: noba3/KoTos
def LISTSP5(xurl, retries=1):
    try:
        nrDomain = GetNewUrl()
        murl = nrDomain + xurl
        setCookie(nrDomain)
        response = net().http_GET(murl)
    except:
        xbmc.executebuiltin(
            "XBMC.Notification(Sorry!,Noobroom website is down,5000," +
            smalllogo + ")")
        return
    link = response.content
    link = link.decode('iso-8859-1').encode('utf8')
    if response.get_url() != murl or murl + '?ckattempt' in link:
        if os.path.exists(cookie_file):
            try:
                os.remove(cookie_file)
            except:
                pass
        if murl + '?ckattempt' in link:
            if retries:
                retries -= 1
                return LISTSP5('retry', retries)
        else:
            xbmc.executebuiltin(
                "XBMC.Notification(Sorry!,Email or Password Incorrect,10000," +
                smalllogo + ")")
    if selfAddon.getSetting("hide-download-instructions") != "true":
        main.addLink(
            "[COLOR red]For Download Options, Bring up Context Menu Over Selected Link.[/COLOR]",
            '', art + '/link.png')
    match = re.compile("<br>(.+?) - <a[^>]+?href='(.+?)'>(.+?)</a>").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 year, url, name in match:
        name = fix_title(main.unescapes(name))
        try:
            year = year.split('</b> - ')[1]
        except:
            pass
        if (year == '0'):
            year = '0000'
        url = nrDomain + url
        loadedLinks += 1
        main.addDown3(name + ' [COLOR red](' + year + ')[/COLOR]', url, 58, '',
                      '', loadedLinks)
        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(): break
    dialogWait.close()
    del dialogWait
    main.GA("Noobroom", "List")
    main.VIEWS()
示例#26
0
def LISTSP2(murl):
    if murl.startswith('3D'):
        main.addDir('Search Newmyvideolinks', 'movieNEW', 102,
                    art + '/search.png')
        subpages = 2
        max = 9
        category = "3-d-movies"
    elif murl.startswith('TV'):
        main.addDir('Search Newmyvideolinks', 'tvNEW', 102,
                    art + '/search.png')
        subpages = 3
        max = 50
        category = "tv-shows"
    else:
        main.addDir('Search Newmyvideolinks', 'movieNEW', 102,
                    art + '/search.png')
        subpages = 5
        max = 250
        category = "bluray"
    parts = murl.split('-', 1)
    try:
        pages = parts[1].split(',', 1)
        page = int(pages[0])
        max = int(pages[1])
        murl = parts[0]
    except:
        page = 0
    page = page * subpages
    urllist = ''
    urls = []
    for n in range(subpages):
        if page + n + 1 > max: break
        if category == "tv-shows":
            urls.append('http://tv.myvideolinks.eu/page/' + str(page + n + 1))
        else:
            urls.append('http://www.myvideolinks.me/category/movies/' +
                        category + '/page/' + str(page + n + 1))
    urllist = main.batchOPENURL(urls)
    hasNextPage = re.compile('>&rsaquo;</a>').findall(urllist)
    if category != "3-d-movies" and len(
            hasNextPage
    ) < subpages or category == "3-d-movies" and subpages * page > max:
        page = None
    else:
        hasMax = re.compile("page/(\d+?)/'>&raquo;</a>").findall(urllist)
        if hasMax:
            max = hasMax[0]
    if urllist:
        urllist = main.unescapes(urllist)
        #link=main.OPENURL(xurl)
        match = re.compile(pattern).findall(urllist)
        #         if not match:
        #             match=re.compile('<h3><a href="()([^"]+?)"[^>]+?title="([^"]+?)"').findall(urllist)
        if match:
            dialogWait = xbmcgui.DialogProgress()
            ret = dialogWait.create('Please wait until Movie list is cached.')
            totalLinks = len(match)
            loadedLinks = 0
            remaining_display = 'Movies/Episodes Cached :: [B]' + str(
                loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
            dialogWait.update(0, '[B]Will load instantly from now on[/B]',
                              remaining_display)
            for url, thumb, title in match:
                if murl == 'TV':
                    #                     if re.compile('720p').findall(title):
                    title = main.CleanTitle(title)
                    main.addDirTE(title, url, 35, thumb, '', '', '', '', '')
                else:
                    title = main.CleanTitle(title)
                    main.addDirM(title, url, 35, thumb, '', '', '', '', '')
                    xbmcplugin.setContent(int(sys.argv[1]), 'Movies')
                loadedLinks = loadedLinks + 1
                percent = (loadedLinks * 100) / totalLinks
                remaining_display = 'Movies/Episodes Cached :: [B]' + str(
                    loadedLinks) + ' / ' + str(totalLinks) + '[/B].'
                dialogWait.update(percent,
                                  '[B]Will load instantly from now on[/B]',
                                  remaining_display)
                if dialogWait.iscanceled(): break
            if not page is None and loadedLinks >= totalLinks:
                main.addDir(
                    'Page ' + str(page / subpages + 1) +
                    ' [COLOR blue]Next Page >>>[/COLOR]',
                    murl + "-" + str(page / subpages + 1) + "," + str(max), 34,
                    art + '/next2.png')
            dialogWait.close()
            del dialogWait
    main.GA("HD-3D-HDTV", "Newmyvideolinks")
    main.VIEWS()
示例#27
0
文件: yify.py 项目: noba3/KoTos
def LIST(murl, subp=False):
    global subpages
    if subp: subpages = subp
    parts = murl.partition('%%%')
    murl = parts[0]
    page = re.search('(?i)page\/(\d+?)\/', murl)
    if page: page = int(page.group(1))
    else: page = 1
    max = page * subpages
    if parts[-1]:
        parts = parts[-1].partition('$$$')
        max = int(parts[0])
        if parts[-1]: subpages = int(parts[-1])
    urls = []
    for n in range(subpages):
        if page + n > max: break
        if re.search('[^\d]\/$', murl):
            urls.append(murl + 'page/' + str(page + n) + '/')
        elif re.search('movies\/\?', murl):
            urls.append(
                murl.replace('movies/?',
                             'movies/page/' + str(page + n) + '/?'))
        else:
            urls.append(
                re.sub('page\/\d+?\/', 'page/' + str(page + n) + '/', murl))
    link = main.batchOPENURL(urls).replace('\\/', '/')
    link = link.replace('\r', '').replace('\n', '').replace('\t', '')
    match = re.compile(
        '{"ID":.+?,"title":"(.*?)","link":"(.*?)","post_content":"(.*?)","image":"(.*?)","slidercap":"(.*?)","year":"(.*?)","genre":"(.*?)","director":".+?}',
        re.DOTALL).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, desc, thumb, fan, year, genre in match:
        main.addPlayM(name + ' [COLOR red](' + year + ')[/COLOR]', url, 423,
                      thumb, desc, fan, '', genre, year)
        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(): break
    dialogWait.close()
    del dialogWait
    paginate = re.compile(
        '''<a class="nextpostslink" href="([^<]+)">.+?</a>''',
        re.DOTALL).findall(link)
    if len(paginate) == subpages and loadedLinks >= totalLinks:
        last = re.search(
            '(?i)<a class="last" href="[^"]+?/page/(\d+)/[^"]*?">Last', link)
        if last: last = int(last.group(1))
        else:
            last = re.findall(
                '(?i)<a class="page larger" href="[^"]+?/page/(\d+)/[^"]*?">',
                link)
            if last: last = int(last[-1])
            else: last = page + subpages
        main.addDir('[COLOR red]Enter Page #[/COLOR]',
                    paginate[0] + '%%%' + str(subpages), 427,
                    art + '/gotopage.png')
        main.addDir(
            'Page ' + str(page / subpages + 1) +
            ' [COLOR blue]Next Page >>>[/COLOR]',
            re.sub('page\/\d+?\/', 'page/' + str(page + subpages) + '/',
                   paginate[0]) + '%%%' + str(last) + '$$$' + str(subpages),
            422, art + '/next2.png')
    main.GA("Yify", "List")
    main.VIEWS()