コード例 #1
0
def load():
    # Logger-Eintrag
    logger.info("Load %s" % SITE_NAME)

    # GUI-Element erzeugen
    oGui = cGui()

    # ParameterHandler erzeugen
    params = ParameterHandler()

    # Einträge anlegen
    params.setParam('sUrl', URL_MOVIES)
    oGui.addFolder(cGuiElement('Filme', SITE_IDENTIFIER, 'showContentMenu'),
                   params)
    params.setParam('sUrl', URL_SHOWS)
    oGui.addFolder(cGuiElement('Serien', SITE_IDENTIFIER, 'showContentMenu'),
                   params)
    oGui.addFolder(cGuiElement('Suche', SITE_IDENTIFIER, 'showSearch'))

    # Liste abschließen
    oGui.setEndOfDirectory()
コード例 #2
0
ファイル: mykino_to.py プロジェクト: trank63/vikings.repo
def showGenre():
    oParams = ParameterHandler()
    sUrl = oParams.getValue('sUrl')
    sHtmlContent = cRequestHandler(sUrl).request()
    pattern = '<div[^>]*id="tabln%s"[^>]*>(.*?)</ul>' % oParams.getValue('sGenreId')
    isMatch, sContainer = cParser().parseSingleResult(sHtmlContent, pattern)

    if not isMatch:
        return

    pattern = '<a[^>]*href="([^"]+)"[^>]*>([^<]*)</a>'
    isMatch, aResult = cParser().parse(sContainer, pattern)

    if not isMatch:
        return

    oGui = cGui()
    for sUrl, sName in aResult:
        oParams.setParam('sUrl', URL_MAIN + sUrl)
        oGui.addFolder(cGuiElement(sName, SITE_IDENTIFIER, 'showEntries'), oParams)
    oGui.setEndOfDirectory()
コード例 #3
0
def showSearchEntries(entryUrl=False, sGui=False, sSearchText=None):
    oGui = sGui if sGui else cGui()
    params = ParameterHandler()
    if not entryUrl: entryUrl = params.getValue('sUrl')
    oRequest = cRequestHandler(URL_SEARCH)
    if sSearchText:
        oRequest.addHeaderEntry('X-Requested-With', 'XMLHttpRequest')
        oRequest.addParameters('val', sSearchText.strip)
        oRequest.setRequestType(1)
    sHtmlContent = oRequest.request()
    pattern = '<a[^>]* href="([^"]+)"[^>]*>([^<]+)'
    isMatch, aResult = cParser.parse(sHtmlContent, pattern)

    if not isMatch:
        return

    total = len(aResult)
    for sUrl, sName in aResult:
        oGuiElement = cGuiElement(sName, SITE_IDENTIFIER, 'showHosters')
        params.setParam('entryUrl', URL_MAIN + sUrl)
        oGui.addFolder(oGuiElement, params, False, total)
コード例 #4
0
def load():
    oParams = ParameterHandler()

    oGui = cGui()
    oParams.setParam('mediaType', 'series')
    oGui.addFolder(
        cGuiElement('Neue Episoden', SITE_IDENTIFIER, 'showNewEpisodesMenu'),
        oParams)
    oGui.addFolder(
        cGuiElement('Alle Serien', SITE_IDENTIFIER, 'showSeriesMenu'), oParams)
    oGui.addFolder(cGuiElement('Animes', SITE_IDENTIFIER, 'showAnimesMenu'),
                   oParams)
    oParams.setParam('mediaType', 'movies')
    oGui.addFolder(cGuiElement('Filme', SITE_IDENTIFIER, 'showMoviesMenu'),
                   oParams)
    oParams.setParam('mediaType', 'series')
    oGui.addFolder(cGuiElement('Genres', SITE_IDENTIFIER, 'showGenresMenu'),
                   oParams)
    oGui.addFolder(cGuiElement('Suche', SITE_IDENTIFIER, 'showSearch'),
                   oParams)
    oGui.setEndOfDirectory()
コード例 #5
0
def showGenre():
    oGui = cGui()
    params = ParameterHandler()
    sHtmlContent = cRequestHandler(URL_MAIN).request()
    parser = cParser()
    isMatch, sHtmlContainer = parser.parseSingleResult(sHtmlContent, '<select[^>]*class="sorter_genre"[^>]*>.*?</select>')

    if not isMatch:
        oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    isMatch, aResult = parser.parse(sHtmlContainer, "<option[^>]*value='([^']*)'[^>]*>([^<]+)</option>")

    if not isMatch:
        oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    for sValue, sTitle in aResult:
        params.setParam('sUrl', URL_GENRE % sValue)
        oGui.addFolder(cGuiElement(sTitle, SITE_IDENTIFIER, 'showEntries'), params)
    oGui.setEndOfDirectory()
コード例 #6
0
def showContentMenu():
    oGui = cGui()
    params = ParameterHandler()
    entryUrl = params.getValue('sUrl')
    params.setParam('sUrl', entryUrl + (ORDER_DESC % 0))
    oGui.addFolder(cGuiElement('Neuste', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', entryUrl + (ORDER_DESC % 1))
    oGui.addFolder(cGuiElement('A-Z', SITE_IDENTIFIER, 'showEntries'), params)
    params.setParam('sUrl', entryUrl + (ORDER_DESC % 2))
    oGui.addFolder(cGuiElement('Aufrufe', SITE_IDENTIFIER, 'showEntries'),
                   params)
    if 'filme' in entryUrl:
        params.setParam('sUrl', entryUrl + (ORDER_DESC % 3))
        oGui.addFolder(
            cGuiElement('IMDB-Wertung', SITE_IDENTIFIER, 'showEntries'),
            params)
        params.setParam('sUrl', entryUrl)
        oGui.addFolder(cGuiElement('Genre', SITE_IDENTIFIER, 'showGenre'),
                       params)
    oGui.setEndOfDirectory()
コード例 #7
0
def showSearchEntries(entryUrl = False, sGui = False):
    oGui = sGui if sGui else cGui()
    params = ParameterHandler()
    if not entryUrl: entryUrl = params.getValue('sUrl')
    sHtmlContent = cRequestHandler(entryUrl).request()
    pattern = 'class="short">.*?href="([^"]+)"[^>]class="title">([^<(]+)[^>]([^")]+).*?<img[^>]src="([^"]+)".*?>([^<]+)</p>'
    aResult = cParser().parse(sHtmlContent, pattern)
    if not aResult[0]:
        if not sGui: oGui.showInfo('xStream','Es wurde kein Eintrag gefunden')
        return
    total = len (aResult[1])
    util = cUtil()
    for sEntryUrl, sName, sYear, sThumbnail, sDescription in aResult[1]:
        oGuiElement = cGuiElement(util.unescape(sName.decode('utf-8')).encode('utf-8'), SITE_IDENTIFIER, 'showHosters')
        oGuiElement.setThumbnail(URL_MAIN +sThumbnail)
        oGuiElement.setDescription(util.unescape(sDescription.decode('utf-8')).encode('utf-8'))
        oGuiElement.setYear(sYear)
        oGuiElement.setMediaType('movie')
        params.setParam('entryUrl', sEntryUrl)
        oGui.addFolder(oGuiElement, params, False, total)
    return
コード例 #8
0
def showMovieMenu():
    sHtmlContent = cRequestHandler(URL_MAIN).request()
    pattern = '<input[^>]*name="kind"[^>]*value="(.*?)"[^>]*>'  # kind
    aResult = cParser().parse(sHtmlContent, pattern)

    if not aResult[0]:
        return

    oGui = cGui()
    params = ParameterHandler()
    for sKind in aResult[1]:
        params.setParam('kind', sKind)
        oGui.addFolder(
            cGuiElement(sKind.title(), SITE_IDENTIFIER, 'searchRequest'),
            params)
    oGui.addFolder(cGuiElement('Genre', SITE_IDENTIFIER, 'showGenresMenu'))
    oGui.addFolder(
        cGuiElement('Erscheinungszeitraum', SITE_IDENTIFIER, 'showYearSearch'))
    oGui.addFolder(
        cGuiElement('Geringstes Rating', SITE_IDENTIFIER, 'showRatingSearch'))
    oGui.setEndOfDirectory()
コード例 #9
0
def getHosterUrl(sUrl=False):
    params = ParameterHandler()
    if not sUrl:
        sUrl = params.getValue('url')
    results = []
    if 'gstream.to/secure/' in sUrl:
        sHoster = sUrl.split('secure/')[-1].split('/')[0]
        oRequest = cRequestHandler(sUrl, False)
        oRequest.addHeaderEntry('Cookie', params.getValue('securityCookie'))
        oRequest.addHeaderEntry('Referer', params.getValue('movieUrl'))
        try:
            oRequest.request()
            sUrl = oRequest.getRealUrl()
            sUrl = 'http://%s%s' % (sHoster, sUrl.split(sHoster)[-1])
        except:
            pass
    result = {}
    result['streamUrl'] = sUrl
    result['resolved'] = False
    results.append(result)
    return results
コード例 #10
0
def showGenre():
    oGui = cGui()
    params = ParameterHandler()
    oRequestHandler = cRequestHandler(params.getValue('sUrl'))
    sHtmlContent = oRequestHandler.request()
    # Get the URL
    pattern = '<a[^>]*?class="CatInf"[^>]*?href="(.*?)"[^>]*?>.*?'
     # Get the entry count
    pattern += '<div[^>]*?class="CatNumInf"[^>]*?>(\d+)</div>.*?'
    # Get the genre name
    pattern += '<div[^>]*?class="CatNameInf"[^>]*?>([^<>]+)</div>'
    aResult = cParser().parse(sHtmlContent, pattern)
    if not aResult[0]:
        return
    for sUrl, sNum, sName in aResult[1]:
        if not sUrl or not sNum or not sName: return
        oGuiElement = cGuiElement("%s (%d)" %(sName, int(sNum)), SITE_IDENTIFIER, 'showEntries')
        params.setParam('sUrl', sUrl)
        params.setParam('mediaTypePageId', 1)
        oGui.addFolder(oGuiElement, params)
    oGui.setEndOfDirectory()
コード例 #11
0
def _addEntry(oGui, sName, mId):
    oParams = ParameterHandler()
    oParams.setParam('id', mId)
    info = loadInformation(mId)

    isFolder = False

    if info:
        isFolder = info[4] is not False
        oGuiElement = cGuiElement(sName, SITE_IDENTIFIER,
                                  'showSeasons' if info[4] else 'showHosters')
        oGuiElement.setTitle(info[5])
        oGuiElement.setDescription(info[0])
        oGuiElement.setLanguage(info[3])
        oGuiElement.setThumbnail(info[1])
        oGuiElement.setYear(info[2])
        oParams.setParam('lang', info[3])
        oGui.addFolder(oGuiElement,
                       oParams,
                       bIsFolder=isFolder,
                       isHoster=not isFolder)
コード例 #12
0
def showSearchEntries(entryUrl=False, sGui=False):
    oGui = sGui if sGui else cGui()
    params = ParameterHandler()
    if not entryUrl: entryUrl = params.getValue('sUrl')
    sHtmlContent = cRequestHandler(entryUrl, ignoreErrors=(sGui is not False)).request()
    pattern = '</a>.*?</div>.*?</div>.*?<a[^>]href="/de/stream/([\d]+).*?src="([^"]+)" alt="([^"]+)"'
    isMatch, aResult = cParser().parse(sHtmlContent, pattern)

    if not isMatch:
        if not sGui: oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    total = len(aResult)
    for sId, sThumbnail, sName in aResult:
        oGuiElement = cGuiElement(sName, SITE_IDENTIFIER, 'showHosters')
        oGuiElement.setThumbnail(sThumbnail)
        oGuiElement.setFanart(sThumbnail)
        params.setParam('id', sId)
        oGui.addFolder(oGuiElement, params, False, total)
    if not sGui:
        oGui.setEndOfDirectory()
コード例 #13
0
def showGenres():
    logger.info('load displayGenreSite')
    sPattern = '<td class="Title"><a.*?href="/Genre/([^"]+)">([^<]+)</a>.*?Tipp-([0-9]+).html">'

    oParams = ParameterHandler()
    sSecurityValue = oParams.getValue('securityCookie')

    # request
    sHtmlContent =__getHtmlContent(URL_GENRE_PAGE, sSecurityValue)
    # parse content
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)

    oGui = cGui()
    if (aResult[0] == True):
        for aEntry in aResult[1]:
            iGenreId = aEntry[2]
            __createMenuEntry(oGui, 'showCharacters', aEntry[1],
            {'page':1, 'mediaType':'fGenre', 'mediaTypePageId': iGenreId,
            'securityCookie':sSecurityValue, 'sUrl':URL_MOVIE_PAGE})
    oGui.setEndOfDirectory()
コード例 #14
0
def showSearchEntries(entryUrl=False, sGui=False):
    oGui = sGui if sGui else cGui()
    params = ParameterHandler()
    if not entryUrl: entryUrl = params.getValue('sUrl')
    sHtmlContent = cRequestHandler(entryUrl,
                                   ignoreErrors=(sGui is not False)).request()
    pattern = 'poster">[^>]*<a[^>]*href="([^"]+)"><img[^>]*src="([^"]+).*?">([^"]+)</a></h2>.*?shortstory_bottom">([^<]+)'
    isMatch, aResult = cParser.parse(sHtmlContent, pattern)

    if not isMatch:
        return

    total = len(aResult)
    for sUrl, sThumbnail, sName, sDescription in aResult:
        oGuiElement = cGuiElement(cUtil.removeHtmlTags(sName), SITE_IDENTIFIER,
                                  'showHosters')
        oGuiElement.setThumbnail(URL_MAIN + sThumbnail)
        oGuiElement.setDescription(
            cUtil.unescape(sDescription.decode('utf-8')).encode('utf-8'))
        params.setParam('entryUrl', sUrl)
        oGui.addFolder(oGuiElement, params, False, total)
コード例 #15
0
def load():
    logger.info("Load %s" % SITE_NAME)
    oGui = cGui()
    params = ParameterHandler()
    params.setParam('sUrl', URL_KINO)
    oGui.addFolder(cGuiElement('Kino Filme', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', URL_FILME)
    oGui.addFolder(cGuiElement('Filme', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', URL_SERIES)
    oGui.addFolder(cGuiElement('Serien', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', URL_GENRES_FILM)
    oGui.addFolder(cGuiElement('Film Genre', SITE_IDENTIFIER, 'showGenre'),
                   params)
    params.setParam('sUrl', URL_GENRES_SERIE)
    oGui.addFolder(cGuiElement('Serien Genre', SITE_IDENTIFIER, 'showGenre'),
                   params)
    oGui.addFolder(cGuiElement('Suche', SITE_IDENTIFIER, 'showSearch'))
    oGui.setEndOfDirectory()
コード例 #16
0
def showGenre():
    oGui = cGui()
    params = ParameterHandler()
    oRequestHandler = cRequestHandler(params.getValue('sUrl'))
    sHtmlContent = oRequestHandler.request()
    pattern = '<a[^>]*?class="CatInf"[^>]*?href="([^"]+).*?'  # Link
    pattern += '<div[^>]*?class="CatNumInf">(\d+).*?'  # count
    pattern += '<div[^>]*?class="CatNameInf">([^<]+)'  # Name
    isMatch, aResult = cParser.parse(sHtmlContent, pattern)

    if not isMatch:
        oGui.showInfo('streamon', 'Es wurde kein Eintrag gefunden')
        return

    for sUrl, sCount, sName in aResult:
        params.setParam('sUrl', sUrl)
        params.setParam('PageId', 1)
        oGui.addFolder(
            cGuiElement("%s (%d)" % (sName, int(sCount)), SITE_IDENTIFIER,
                        'showEntries'), params)
    oGui.setEndOfDirectory()
コード例 #17
0
def showGenre():
    oGui = cGui()
    params = ParameterHandler()
    entryUrl = params.getValue('sUrl')
    sHtmlContent = cRequestHandler(entryUrl).request()
    isMatch, sContainer = cParser.parseSingleResult(
        sHtmlContent, 'id="categories.*?class="clear">')

    if isMatch:
        pattern = '<a[^>]href="([^"]+)"[^>]*>([^<]+)</a>([^<]+)'
        isMatch, aResult = cParser.parse(sContainer, pattern)

    if not isMatch:
        oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    for sUrl, sTitle, Nr in aResult:
        params.setParam('sUrl', URL_MAIN + sUrl)
        oGui.addFolder(
            cGuiElement(sTitle + Nr, SITE_IDENTIFIER, 'showEntries'), params)
    oGui.setEndOfDirectory()
コード例 #18
0
def showGenres():
    oGui = cGui()
    params = ParameterHandler()
    sHtmlContent = cRequestHandler(URL_MAIN).request()
    pattern = 'Filme</a><ul[^>]*class="sub-menu">.*?</ul></li><li[^>]*id'
    isMatch, sHtmlContainer = cParser.parseSingleResult(sHtmlContent, pattern)

    if isMatch:
        pattern = '<a[^>]*href="([^"]+)".*?>([^"]+)</a>'
        isMatch, aResult = cParser.parse(sHtmlContainer, pattern)

    if not isMatch:
        oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    for sUrl, sName in aResult:
        if sUrl.startswith('//'):
            sUrl = 'https:' + sUrl
        params.setParam('sUrl', sUrl)
        oGui.addFolder(cGuiElement(sName, SITE_IDENTIFIER, 'showEntries'), params)
    oGui.setEndOfDirectory()
コード例 #19
0
ファイル: moviesever_com.py プロジェクト: vbprofi/kodi-repo
def showGenresMenu():
    logger.info('load showGenresMenu')
    oParams = ParameterHandler()
    sPattern = '<li class="cat-item.*?href="(.*?)"\s*?>(.*?)<'

    # request
    sHtmlContent = __getHtmlContent(URL_MAIN)
    # parse content
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)

    oGui = cGui()

    if aResult[0]:
        for link, title in aResult[1]:
            guiElement = cGuiElement(title, SITE_IDENTIFIER, 'showMovies')
            #guiElement.setMediaType('fGenre') # not necessary
            oParams.addParams({'sUrl': link, 'bShowAllPages': True})
            oGui.addFolder(guiElement, oParams)

    oGui.setEndOfDirectory()
コード例 #20
0
def load():
    logger.info("Load %s" % SITE_NAME)
    oGui = cGui()
    params = ParameterHandler()
    params.setParam('sUrl', URL_Kinofilme)
    oGui.addFolder(cGuiElement('Kinofilme', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', URL_FILME_HD)
    oGui.addFolder(cGuiElement('Filme in HD', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', URL_SERIEN)
    oGui.addFolder(cGuiElement('Serien', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', URL_TVSHOWS)
    oGui.addFolder(cGuiElement('TV-Shows', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', URL_Kinofilme)
    #    params.setParam('valueType', 'vert_nav')
    oGui.addFolder(cGuiElement('Genre', SITE_IDENTIFIER, 'showValueList'))
    oGui.addFolder(cGuiElement('Suche', SITE_IDENTIFIER, 'showSearch'))
    oGui.setEndOfDirectory()
コード例 #21
0
def showHosters():
    sUrl = ParameterHandler().getValue('entryUrl')
    sHtmlContent = cRequestHandler(sUrl).request()
    pattern = '<v-flex>[^>]*<v-btn.*?</v-flex>'
    isMatch, sHtmlContainer = cParser.parse(sHtmlContent, pattern)
    pattern = '<meta name="csrf-token" content="([^"]+)">'
    isMatch, token = cParser.parseSingleResult(sHtmlContent, pattern)
    hosters = []
    for a in sHtmlContainer:
        pattern = 'x">([^<]+)</v-btn>'
        isMatch, sQuality = cParser.parseSingleResult(a, pattern)
        pattern = "recaptcha[^>]'([^']+)', '([^']+)', '([^']+).*?"
        pattern += '">.*?>([^<]+)'
        isMatch, aResult = cParser().parse(a, pattern)
        for e, h, sLang, sName in aResult:
            link = getLinks(sUrl, e, h, token, sLang)
            hoster = {'link': link, 'name': sName.strip() + ' ' + sQuality.strip()}
            hosters.append(hoster)
    if hosters:
        hosters.append('getHosterUrl')
    return hosters
コード例 #22
0
def showContentMenu():
    oGui = cGui()
    params = ParameterHandler()
    params.setParam('order', 'titleAsc')
    oGui.addFolder(cGuiElement('A-Z', SITE_IDENTIFIER, 'showEntries'), params)
    params.setParam('order', 'release_dateDesc')
    oGui.addFolder(
        cGuiElement('Veröffentlichungsdatum', SITE_IDENTIFIER, 'showEntries'),
        params)
    params.setParam('order', 'mc_user_scoreDesc')
    oGui.addFolder(
        cGuiElement('Userbewertungen', SITE_IDENTIFIER, 'showEntries'), params)
    params.setParam('order', 'mc_num_of_votesDesc')
    oGui.addFolder(
        cGuiElement('Anzahl Userbewertungen', SITE_IDENTIFIER, 'showEntries'),
        params)
    params.setParam('order', 'titleAsc')
    oGui.addFolder(cGuiElement('Genre', SITE_IDENTIFIER, 'showGenre'), params)
    params.setParam('order', 'titleAsc')
    oGui.addFolder(cGuiElement('Suche', SITE_IDENTIFIER, 'showSearch'), params)
    oGui.setEndOfDirectory()
コード例 #23
0
def showHosters():
    oParams = ParameterHandler()
    sUrl = oParams.getValue('entryUrl')
    sHtmlContent = cRequestHandler(sUrl).request()
    sPattern = '<td[^>]*align="center"[^>]*valign="top"><a[^>]*href="([^"]+).*?src="/([^".]+)'
    aResult = cParser().parse(sHtmlContent, sPattern)
    hosters = []
    if aResult[1]:
        for sUrl, sName in aResult[1]:
            # diry fix for old iconnames
            if sName == 'putlocker':
                sName = 'vodlocker'
            elif sName == 'sockshare':
                sName = 'shared.sx'
            hoster = {}
            hoster['link'] = sUrl
            hoster['name'] = sName
            hosters.append(hoster)
    if hosters:
        hosters.append('getHosterUrl')
    return hosters
コード例 #24
0
ファイル: ddl_me.py プロジェクト: x1125/plugin.video.xstream
def showContentMenu():
    oGui = cGui()
    params = ParameterHandler()
    baseURL = params.getValue('sUrl')
    oGui.addFolder(cGuiElement('Top 100', SITE_IDENTIFIER, 'showTop100Menu'),
                   params)
    params.setParam('sUrl', baseURL + PARMS_GENRE_ALL + PARMS_SORT_LAST_UPDATE)
    oGui.addFolder(
        cGuiElement('Letztes Update', SITE_IDENTIFIER, 'showEntries'), params)
    params.setParam('sUrl', baseURL + PARMS_GENRE_ALL + PARMS_SORT_BLOCKBUSTER)
    oGui.addFolder(cGuiElement('Blockbuster', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', baseURL + PARMS_GENRE_ALL + PARMS_SORT_IMDB_RATING)
    oGui.addFolder(cGuiElement('IMDB Rating', SITE_IDENTIFIER, 'showEntries'),
                   params)
    params.setParam('sUrl', baseURL + PARMS_GENRE_ALL + PARMS_SORT_YEAR)
    oGui.addFolder(cGuiElement('Jahr', SITE_IDENTIFIER, 'showEntries'), params)
    params.setParam('sUrl', baseURL + PARMS_GENRE_ALL + PARMS_SORT_LAST_UPDATE)
    oGui.addFolder(cGuiElement('Genre', SITE_IDENTIFIER, 'showGenreList'),
                   params)
    oGui.setEndOfDirectory()
コード例 #25
0
def showSeasons():# Danke Lynx187
    oGui = cGui()
    params = ParameterHandler()
    selectedShow = params.getValue('selectedShow')
    sHtmlContent = cRequestHandler(URL_SERIES).request()
    pattern = '<h3>%s</h3>\s*<p>\|(.*?)</p>' % selectedShow
    aResult = cParser().parse(sHtmlContent, pattern)
    pattern =  'href="([^"]+)">([^<]+)<'
    aResult = cParser().parse(aResult[1][0], pattern)
    if not aResult[0]:
        oGui.showInfo('streamon','Es wurde kein Eintrag gefunden')
        return
    total = len(aResult[1])
    for link, name in aResult[1]:
        oGuiElement = cGuiElement(name, SITE_IDENTIFIER, 'showEntries')
        oGuiElement.setSeason(name.split(' ')[-1])
        oGuiElement.setMediaType('season')
        params.setParam('sUrl', link)
        oGui.addFolder(oGuiElement, params, True, total)
    oGui.setView('seasons')
    oGui.setEndOfDirectory()
コード例 #26
0
ファイル: streamkiste_tv.py プロジェクト: vbprofi/kodi-repo
def showGenre():
    sHtmlContent = cRequestHandler(URL_MAIN).request()
    pattern = '>Genre[^>]Listen</a>.*?</ul>'
    isMatch, sContainer = cParser().parseSingleResult(sHtmlContent, pattern)

    if not isMatch:
        return

    pattern = '<a[^>]href="([^"]+).*?">([^<]+)'
    isMatch, aResult = cParser().parse(sContainer, pattern)

    if not isMatch:
        return

    oGui = cGui()
    params = ParameterHandler()
    for sUrl, sName in aResult:
        params.setParam('sUrl', sUrl)
        oGui.addFolder(cGuiElement(sName, SITE_IDENTIFIER, 'showEntries'),
                       params)
    oGui.setEndOfDirectory()
コード例 #27
0
def showEpisodes():
    oGui = cGui()
    params = ParameterHandler()
    sThumbnail = params.getValue('sThumbnail')
    sSeason = params.getValue('sSeason')
    news_id = params.getValue('news_id')
    sTVShowTitle = params.getValue('sName')

    oRequest = cRequestHandler(URL_EPISODE)
    oRequest.addParameters('news_id', news_id)
    oRequest.addParameters('season', sSeason)
    oRequest.setRequestType(1)
    sHtmlContent = oRequest.request()

    if not sHtmlContent:
        return

    data = json.loads(sHtmlContent)
    if "options" in data:
        sHtmlContent = data["options"]

    pattern = '<option[^>]*value="(\d+)"[^>]*>([^<]+(\d+))\s*</option>'
    isMatch, aResult = cParser.parse(sHtmlContent, pattern)

    if not isMatch:
        return

    total = len(aResult)
    for seriesId, sName, Episodenr in aResult:
        oGuiElement = cGuiElement(sName, SITE_IDENTIFIER, 'getHosters')
        oGuiElement.setTVShowTitle(sTVShowTitle)
        oGuiElement.setSeason(sSeason)
        oGuiElement.setEpisode(Episodenr)
        oGuiElement.setThumbnail(sThumbnail)
        oGuiElement.setMediaType('episode')
        params.setParam('seriesId', seriesId)
        oGui.addFolder(oGuiElement, params, False, total)

    oGui.setView('episodes')
    oGui.setEndOfDirectory()
コード例 #28
0
def showEntries(entryUrl=False, sGui=False, sSearchText=False):
    oGui = sGui if sGui else cGui()
    params = ParameterHandler()
    if not entryUrl: entryUrl = params.getValue('sUrl')
    sHtmlContent = cRequestHandler(entryUrl,
                                   ignoreErrors=(sGui is not False)).request()
    pattern = "type_(\d).*?title='([^']+)[^>]*href='([^']+).*?src='([^']+)"
    isMatch, aResult = cParser.parse(sHtmlContent, pattern)

    if not isMatch:
        if not sGui: oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    total = len(aResult)
    for smType, sName, sUrl, sThumbnail in aResult:
        if sSearchText and not cParser().search(sSearchText, sName):
            continue
        if smType == '3':
            continue
        if sThumbnail.startswith('//'):
            sThumbnail = 'https:' + sThumbnail
        isTvshow = True if "1" in smType else False
        oGuiElement = cGuiElement(sName, SITE_IDENTIFIER,
                                  'showSeasons' if isTvshow else 'showHosters')
        oGuiElement.setMediaType('tvshow' if isTvshow else 'movie')
        oGuiElement.setThumbnail(sThumbnail)
        oGuiElement.setFanart(sThumbnail)
        params.setParam('entryUrl', URL_MAIN + sUrl)
        params.setParam('sName', sName)
        params.setParam('sThumbnail', sThumbnail)
        oGui.addFolder(oGuiElement, params, isTvshow, total)
    if not sGui:
        pattern = "class='active'>\d</a><a[^>]href='([^']+)"
        isMatchNextPage, sNextUrl = cParser.parseSingleResult(
            sHtmlContent, pattern)
        if isMatchNextPage:
            params.setParam('sUrl', URL_MAIN + sNextUrl)
            oGui.addNextPage(SITE_IDENTIFIER, 'showEntries', params)
        oGui.setView('tvshows' if 'download_1' in entryUrl else 'movies')
        oGui.setEndOfDirectory()
コード例 #29
0
def showEntries(entryUrl=False, sGui=False, sSearchText=False):
    oGui = sGui if sGui else cGui()
    params = ParameterHandler()
    if not entryUrl: entryUrl = params.getValue('sUrl')
    sHtmlContent = cRequestHandler(entryUrl,
                                   ignoreErrors=(sGui is not False)).request()
    pattern = 'poster.*?<img src="([^"]+).*?href="([^"]+)">([^"]+)</a>.*?body">(.*?)div.*?bottom">([^<]+)'
    isMatch, aResult = cParser.parse(sHtmlContent, pattern)

    if not isMatch:
        if not sGui: oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    total = len(aResult)
    for sThumbnail, sUrl, sName, sDummy, sDesc in aResult:
        if sSearchText and not cParser().search(sSearchText,
                                                cUtil.cleanse_text(sName)):
            continue
        oGuiElement = cGuiElement(sName, SITE_IDENTIFIER, 'showHosters')
        oGuiElement.setThumbnail(URL_MAIN + sThumbnail)
        oGuiElement.setFanart(URL_MAIN + sThumbnail)
        oGuiElement.setDescription(sDesc)
        isYear, sYear = cParser.parse(sDummy, '>([\d]+)<')
        if isYear:
            oGuiElement.setYear(sYear[0])
        oGuiElement.setMediaType('movie')
        if sUrl.startswith('http'):
            params.setParam('entryUrl', sUrl)
        else:
            params.setParam('entryUrl', URL_MAIN + sUrl)
        oGui.addFolder(oGuiElement, params, False, total)
    if not sGui:
        pattern = 'class="swchItemA1"[^>]*>.*?</b>\s*<a[^>]*href="([^"]+)"'
        isMatchNextPage, sNextUrl = cParser.parseSingleResult(
            sHtmlContent, pattern)
        if isMatchNextPage:
            params.setParam('sUrl', URL_MAIN + sNextUrl)
            oGui.addNextPage(SITE_IDENTIFIER, 'showEntries', params)
        oGui.setView('movies')
        oGui.setEndOfDirectory()
コード例 #30
0
def showEntries(entryUrl=False, sGui=False):
    oGui = sGui if sGui else cGui()
    params = ParameterHandler()
    if not entryUrl: entryUrl = params.getValue('sUrl')
    sHtmlContent = __getContent(entryUrl)
    sPattern = '<div[^>]*class="poster">.*?<img[^>]*src="([^"]+).*?<a[^>]*href="([^"]+)">([^<]+).*?(?:<span>([^<]+)?).*?<div[^>]*class="texto">([^<]+)'
    isMatch, aResult = cParser.parse(sHtmlContent, sPattern)

    if not isMatch:
        if not sGui: oGui.showInfo('xStream', 'Es wurde kein Eintrag gefunden')
        return

    total = len(aResult)
    for sThumbnail, sUrl, sName, sYear, sDesc in aResult:
        sThumbnail = re.sub('-\d+x\d+\.', '.', sThumbnail)
        isTvshow = True if "serie" in sUrl else False
        if sThumbnail and not sThumbnail.startswith('http'):
            sThumbnail = URL_MAIN + sThumbnail
        oGuiElement = cGuiElement(sName, SITE_IDENTIFIER,
                                  'showSeasons' if isTvshow else 'showHosters')
        oGuiElement.setMediaType('tvshow' if isTvshow else 'movie')
        oGuiElement.setThumbnail(sThumbnail)
        if sYear:
            oGuiElement.setYear(sYear)
        oGuiElement.setDescription(sDesc)
        sUrl = cUtil.quotePlus(sUrl)
        params.setParam('entryUrl', sUrl)
        params.setParam('sName', sName)
        params.setParam('sThumbnail', sThumbnail)
        oGui.addFolder(oGuiElement, params, isTvshow, total)

    if not sGui:
        sPattern = '"next"[^>]*href="([^"]+)'
        isMatchNextPage, sNextUrl = cParser.parseSingleResult(
            sHtmlContent, sPattern)
        if isMatchNextPage:
            params.setParam('sUrl', sNextUrl)
            oGui.addNextPage(SITE_IDENTIFIER, 'showEntries', params)
        oGui.setView('tvshows' if 'serie' in sUrl else 'movies')
        oGui.setEndOfDirectory()