示例#1
0
def loadFromCache(murl, channel, cacheFilePath):
    channels = jsonutil.readJson(cacheFilePath)['channels']
    channelData = channels[channel]
    tvShows = channelData['currentTVShows']
    for tvShow in tvShows:
        main.addTVInfo(tvShow['name'], tvShow['url'],
                       constants.DESIRULEZ_LISTEPISODES, tvShow['iconimage'],
                       tvShow['name'], '')
    if not re.search('past', murl, re.I):
        main.addTVInfo('[COLOR red]' + channel + ' Past Shows[/COLOR]',
                       channelData['pastTVShowURL'],
                       constants.DESIRULEZ_LISTSHOWS, '', 'Past Shows', '')
示例#2
0
def LISTEPISODES(tvshowname, url):
    link = main.OPENURL(url)
    link = link.decode("iso-8859-1").encode("utf-8")
    result = common.parseDOM(link, "h3", attrs={"class": "title threadtitle_unread"})
    result += common.parseDOM(link, "h3", attrs={"class": "threadtitle"})

    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create("Please wait until [" + tvshowname + "] Episodes are cached.")
    totalLinks = len(result)
    loadedLinks = 0
    remaining_display = "Episodes 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 item in result:
        name = common.parseDOM(item, "a", attrs={"class": "title"})
        name += common.parseDOM(item, "a", attrs={"class": "title threadtitle_unread"})
        if name:
            name = name[0]
        url = common.parseDOM(item, "a", ret="href")
        if url:
            url = url[0]

        if "Online" not in name:
            continue
        name = name.replace(tvshowname, "").replace("Watch Online", "").replace("Video", "")
        name = main.removeNonASCII(name)
        main.addTVInfo(name, MainUrl + url, constants.DESIRULEZ_VIDEOLINKS, "", tvshowname, "")
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = "Episodes 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
    result = common.parseDOM(link, "div", attrs={"class": "threadpagenav"})
    if result:
        result = result[0]
    result = common.parseDOM(result, "span")
    for item in result:
        name = common.parseDOM(item, "a")
        if name:
            name = name[0]
        url = common.parseDOM(item, "a", ret="href")
        if url:
            url = url[0]
        if not re.search("javascript", url, re.I):
            main.addTVInfo("-> Page " + str(name), MainUrl + url, constants.DESIRULEZ_LISTEPISODES, "", tvshowname, "")
    dialogWait.close()
    del dialogWait
    xbmcplugin.setContent(int(sys.argv[1]), "TV Shows")
    main.setEpisodeView()
示例#3
0
def loadFromCache(murl, channel, cacheFilePath):
    channels = jsonutil.readJson(cacheFilePath)["channels"]
    channelData = channels[channel]
    tvShows = channelData["currentTVShows"]
    for tvShow in tvShows:
        main.addTVInfo(
            tvShow["name"], tvShow["url"], constants.DESIRULEZ_LISTEPISODES, tvShow["iconimage"], tvShow["name"], ""
        )
    if not re.search("past", murl, re.I):
        main.addTVInfo(
            "[COLOR red]" + channel + " Past Shows[/COLOR]",
            channelData["pastTVShowURL"],
            constants.DESIRULEZ_LISTSHOWS,
            "",
            "Past Shows",
            "",
        )
示例#4
0
def LISTEPISODES(tvshowname, url):
    link = main.OPENURL(url)
    link = link.decode('iso-8859-1').encode('utf-8')
    result = common.parseDOM(link,
                             "h3",
                             attrs={"class": "title threadtitle_unread"})
    result += common.parseDOM(link, "h3", attrs={"class": "threadtitle"})

    dialogWait = xbmcgui.DialogProgress()
    ret = dialogWait.create('Please wait until [' + tvshowname +
                            '] Episodes are cached.')
    totalLinks = len(result)
    loadedLinks = 0
    remaining_display = 'Episodes 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 item in result:
        name = common.parseDOM(item, "a", attrs={"class": "title"})
        name += common.parseDOM(item,
                                "a",
                                attrs={"class": "title threadtitle_unread"})
        if name:
            name = name[0]
        url = common.parseDOM(item, "a", ret="href")
        if url:
            url = url[0]

        if "Online" not in name: continue
        name = name.replace(tvshowname, '').replace('Watch Online',
                                                    '').replace('Video', '')
        name = main.removeNonASCII(name)
        main.addTVInfo(name, MainUrl + url, constants.DESIRULEZ_VIDEOLINKS, '',
                       tvshowname, '')
        loadedLinks = loadedLinks + 1
        percent = (loadedLinks * 100) / totalLinks
        remaining_display = 'Episodes 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
    result = common.parseDOM(link, "div", attrs={"class": "threadpagenav"})
    if result:
        result = result[0]
    result = common.parseDOM(result, "span")
    for item in result:
        name = common.parseDOM(item, "a")
        if name:
            name = name[0]
        url = common.parseDOM(item, "a", ret="href")
        if url:
            url = url[0]
        if not re.search('javascript', url, re.I):
            main.addTVInfo('-> Page ' + str(name), MainUrl + url,
                           constants.DESIRULEZ_LISTEPISODES, '', tvshowname,
                           '')
    dialogWait.close()
    del dialogWait
    xbmcplugin.setContent(int(sys.argv[1]), 'TV Shows')
    main.setEpisodeView()