def showHosters():
    oGui = cGui()

    oParams = ParameterHandler()
    sUrl = oParams.getValue('siteUrl')
    sTitle = oParams.getValue('sTitle')

    oRequestHandler = cRequestHandler(sUrl)
    sHtmlContent = oRequestHandler.request()

    sPattern = '<h3>Hoster dieser Episode(.*?)</ul>'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if aResult[0]:
        sHtmlContent = aResult[1][0]
        sPattern = '<li><a href="(.+?)"><span .+? class="icon (.+?)"></span>.+?</a>'
        aResult = oParser.parse(sHtmlContent, sPattern)
        if aResult[0]:
            for sUrl, sHoster in aResult[1]:
                sUrl = '%s/%s' % (URL_MAIN, sUrl)

                oGuiElement = cGuiElement(sHoster, SITE_IDENTIFIER,
                                          'getHosterUrlandPlay')
                oParams.setParam('siteUrl', sUrl)
                oParams.setParam('sTitle', sTitle)
                oGui.addFolder(oGuiElement, oParams, bIsFolder=True)
    oGui.setEndOfDirectory()
def getHosterUrlandPlay():
    oGui = cGui()

    oParams = ParameterHandler()
    sTitle = oParams.getValue('Title')
    sUrl = oParams.getValue('siteUrl')
    sHoster = oParams.getValue('Hoster')

    oRequestHandler = cRequestHandler(sUrl)
    sHtmlContent = oRequestHandler.request()

    sPattern = '<div id="video_actions">.*?<a href="([^"]+)" target="_blank">'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)

    if (aResult[0] == True):
        sStreamUrl = aResult[1][0]
        oHoster = cHosterHandler().getHoster(sHoster)
        cHosterGui().showHosterMenuDirect(oGui,
                                          oHoster,
                                          sStreamUrl,
                                          sFileName=sTitle)
        oGui.setEndOfDirectory()
        return
    oGui.setEndOfDirectory()
def showSeriesForGenre():
    oGui = cGui()
    oInputParameterHandler = cInputParameterHandler()
    gTitle = oInputParameterHandler.getValue('sTitle')

    oRequestHandler = cRequestHandler(URL_GENRE)
    oRequestHandler.addHeaderEntry('Referer', URL_MAIN)
    sHtmlContent = oRequestHandler.request()

    sPattern = '<div class="genre">.+?<span><strong>%s</strong></span>.+?<ul>(.+?)</div>' % (
        gTitle)
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if aResult[0]:
        sPattern = '<li><a href="(.+?)">(.+?)</a></li>'
        aResult = oParser.parse(aResult[1][0], sPattern)
        if aResult[0]:
            for sUrl, sTitle in aResult[1]:
                sUrl = '%s/%s' % (URL_MAIN, sUrl)
                oParams = ParameterHandler()
                oParams.setParam('sTitle', sTitle)
                oParams.setParam('siteUrl', sUrl)
                oParams.setParam('imdbID', '')

                oGuiElement = cGuiElement()
                oGuiElement.setSiteName(SITE_IDENTIFIER)
                oGuiElement.setFunction('showSeasons')
                oGuiElement.setTitle(sTitle)

                oGui.addFolder(oGuiElement, oParams)
    oGui.setEndOfDirectory()
def showHosters():
    oGui = cGui()

    oParams = ParameterHandler()
    sTitle = oParams.getValue('Title')
    sUrl = oParams.getValue('siteUrl')

    oRequestHandler = cRequestHandler(sUrl)
    sHtmlContent = oRequestHandler.request()
    if not META:
        __createInfo(oGui, sHtmlContent, sTitle)

    sPattern = '<h3>Hoster dieser Episode(.*?)</ul>'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if (aResult[0] == True):
        sHtmlContent = aResult[1][0]

        sPattern = '<li><a href="([^"]+)">.*?class="icon ([^"]+)"></span> ([^<]+?)</a>'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)
        if (aResult[0] == True):
            for aEntry in aResult[1]:
                oHoster = cHosterHandler().getHoster2('//' +
                                                      str(aEntry[1]).lower() +
                                                      '/')
                if (oHoster != False):
                    oGuiElement = cGuiElement(str(aEntry[2]), SITE_IDENTIFIER,
                                              'getHosterUrlandPlay')
                    oParams.setParam('siteUrl',
                                     URL_MAIN + '/' + str(aEntry[0]))
                    oParams.setParam('Hoster', oHoster)
                    oGui.addFolder(oGuiElement, oParams, bIsFolder=True)
    oGui.setEndOfDirectory()
예제 #5
0
def load():
    logger.info("Load %s" % SITE_NAME)

    sSecurityValue = __getSecurityCookieValue()
    __initSiteLanguage(sSecurityValue)
    oParams = ParameterHandler()
    oParams.setParam('securityCookie', sSecurityValue)
    ## Create all main menu entries
    oGui = cGui()

    oParams.setParam('siteUrl', URL_MAIN)
    oParams.setParam('page', 1)
    oParams.setParam('mediaType', 'news')
    oGui.addFolder(cGuiElement('Neues von Heute', SITE_IDENTIFIER, 'showNews'),
                   oParams)
    oParams.setParam('siteUrl', URL_MOVIE_PAGE)
    oParams.setParam('mediaType', 'movie')
    oGui.addFolder(cGuiElement('Filme', SITE_IDENTIFIER, 'showMovieMenu'),
                   oParams)
    oParams.setParam('siteUrl', URL_DOCU_PAGE)
    oParams.setParam('mediaType', 'series')
    oGui.addFolder(cGuiElement('Serien', SITE_IDENTIFIER, 'showSeriesMenu'),
                   oParams)
    oParams.setParam('siteUrl', URL_SERIE_PAGE)
    oParams.setParam('mediaType', 'documentation')
    oGui.addFolder(
        cGuiElement('Dokumentationen', SITE_IDENTIFIER, 'showDocuMenu'),
        oParams)
    oParams.setParam('siteUrl', URL_SEARCH)
    oGui.addFolder(cGuiElement('Suche', SITE_IDENTIFIER, 'showSearch'),
                   oParams)
    # __createMenuEntry(oGui, 'showNews', 'Neues von Heute', [['siteUrl', URL_MAIN], ['page', 1],
    # ['mediaType', 'news'], ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showCinemaMovies', 'Aktuelle KinoFilme',
    # [['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showCharacters', 'Filme', [['siteUrl', URL_MOVIE_PAGE],
    # ['page', 1], ['mediaType', 'movie'], ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showGenres', 'Genre', [['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showCharacters', 'Serien', [['siteUrl', URL_SERIE_PAGE],
    # ['page', 1], ['mediaType', 'series'], ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showCharacters', 'Dokumentationen', [['siteUrl', URL_DOCU_PAGE],
    # ['page', 1], ['mediaType', 'documentation'], ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showFavItems', 'Beliebteste Filme',
    # [['siteUrl', URL_FAVOURITE_MOVIE_PAGE], ['page', 1], ['mediaType', 'movie'],
    # ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showFavItems', 'Beliebteste Serien',
    # [['siteUrl', URL_FAVOURITE_SERIE_PAGE], ['page', 1], ['mediaType', 'series'],
    # ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showFavItems', 'Beliebteste Dokumentationen',
    # [['siteUrl', URL_FAVOURITE_DOCU_PAGE], ['page', 1], ['mediaType', 'documentation'],
    # ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showFavItems', 'Neuste Serien', [['siteUrl', URL_LATEST_SERIE_PAGE],
    # ['page', 1], ['mediaType', 'series'], ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showFavItems', 'Neuste Dokumentationen',
    # [['siteUrl', URL_LATEST_DOCU_PAGE], ['page', 1], ['mediaType', 'documentation'],
    # ['securityCookie', sSecurityValue]])
    # __createMenuEntry(oGui, 'showSearch', 'Suche', [['siteUrl', URL_SEARCH],
    # ['securityCookie', sSecurityValue]])
    oGui.setEndOfDirectory()
def load():
    oGui = cGui()

    oParams = ParameterHandler()
    oGui.addFolder(cGuiElement('Series', SITE_IDENTIFIER, 'showSeries'),
                   oParams)
    oGui.addFolder(cGuiElement('Genres', SITE_IDENTIFIER, 'showGenres'),
                   oParams)
    oGui.setEndOfDirectory()
예제 #7
0
def showSeriesMenu():
    oGui = cGui()
    oParams = ParameterHandler()

    oGui.addFolder(cGuiElement('A-Z', SITE_IDENTIFIER, 'showCharacters'),
                   oParams)
    #oGui.addFolder(cGuiElement('Genres',SITE_IDENTIFIER,'showGenres'),oParams)
    oParams.setParam('siteUrl', URL_FAVOURITE_SERIE_PAGE)
    oGui.addFolder(
        cGuiElement('Beliebteste Serien', SITE_IDENTIFIER, 'showFavItems'),
        oParams)
    oGui.setEndOfDirectory()
def showEpisodes():
    oGui = cGui()
    oParams = ParameterHandler()
    sShowTitle = oParams.getValue('Title')
    sUrl = oParams.getValue('siteUrl')
    sImdb = oParams.getValue('imdbID')
    sSeason = oParams.getValue('Season')

    logger.info("%s: show episodes of '%s', season '%s' " %
                (SITE_NAME, sShowTitle, sSeason))

    oRequestHandler = cRequestHandler(sUrl)
    sHtmlContent = oRequestHandler.request()

    oParser = cParser()
    hParser = HTMLParser.HTMLParser()

    sPattern = '<tr>\s*<td>(.+?)</td>\s*<td><a href="(.+?)">\s*<strong>(.+?)</strong>.*?</tr>'
    aResult = oParser.parse(sHtmlContent, sPattern)
    try:
        if aResult[0]:
            for sNumber, sUrl, episodeTitle in aResult[1]:
                sUrl = '%s/%s' % (URL_MAIN, sUrl)
                episodeTitle = hParser.unescape(episodeTitle)

                oGuiElement = cGuiElement('Episode ' + sNumber,
                                          SITE_IDENTIFIER, 'showHosters')
                if META and sImdb:
                    oMetaget = metahandlers.MetaData()
                    meta = oMetaget.get_episode_meta(sShowTitle, sImdb,
                                                     sSeason, sNumber)
                    meta['TVShowTitle'] = sShowTitle
                    oGuiElement.setItemValues(meta)
                    oGuiElement.setThumbnail(meta['cover_url'])
                    oGuiElement.setFanart(meta['backdrop_url'])

                # how do we detect the language of the episode ?
                # fixed to 'de' for now as most of it seems to be german on burning-seri.es
                sTitle = 's%se%s - %s (%s)' % (
                    sSeason.zfill(2), sNumber.zfill(2), episodeTitle, 'de')
                oGuiElement.setTitle(sTitle)
                oParams.setParam('siteUrl', sUrl)
                oParams.setParam('EpisodeNr', sNumber)
                oParams.setParam('sTitle', sTitle)

                oGui.addFolder(oGuiElement, oParams, iTotal=len(aResult[1]))

        oGui.setView('episodes')
    except:
        import traceback
        traceback.print_exc()
    oGui.setEndOfDirectory()
def __createMenuEntry(oGui,
                      sFunction,
                      sLabel,
                      lParams,
                      sMetaTitle='',
                      iTotal=0):
    oParams = ParameterHandler()
    try:
        for param in lParams:
            oParams.setParam(param[0], param[1])
    except Exception, e:
        logger.error("Can't add parameter to menu entry with label: %s: %s" %
                     (sLabel, e))
        oParams = ""
예제 #10
0
def showMovieMenu():
    oGui = cGui()
    oParams = ParameterHandler()

    oGui.addFolder(
        cGuiElement('Kinofilme', SITE_IDENTIFIER, 'showCinemaMovies'), oParams)
    oGui.addFolder(cGuiElement('A-Z', SITE_IDENTIFIER, 'showCharacters'),
                   oParams)
    oGui.addFolder(cGuiElement('Genres', SITE_IDENTIFIER, 'showGenres'),
                   oParams)
    oParams.setParam('siteUrl', URL_FAVOURITE_MOVIE_PAGE)
    oGui.addFolder(
        cGuiElement('Beliebteste Filme', SITE_IDENTIFIER, 'showFavItems'),
        oParams)
    oGui.setEndOfDirectory()
def showSeasons():
    oGui = cGui()

    oInputParameterHandler = cInputParameterHandler()
    sTitle = oInputParameterHandler.getValue('Title')
    sUrl = oInputParameterHandler.getValue('siteUrl')
    sImdb = oInputParameterHandler.getValue('imdbID')

    logger.info("%s: show seasons of '%s' " % (SITE_NAME, sTitle))

    oRequestHandler = cRequestHandler(sUrl)
    oRequestHandler.addHeaderEntry('Referer', URL_MAIN)
    sHtmlContent = oRequestHandler.request()

    sPattern = '<ul class="pages">(.*?)</ul>'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if aResult[0]:
        sHtmlContent = aResult[1][0]

        sPattern = '[^n]"><a href="([^"]+)">(.*?)</a>'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)
        if aResult[0]:
            seasonNums = []
            for aEntry in aResult[1]:
                seasonNums.append(str(aEntry[1]))
                if META and not sImdb == '':
                    oMetaget = metahandlers.MetaData()
                    meta = oMetaget.get_seasons(sTitle, sImdb, seasonNums)
            ii = 0
            for aEntry in aResult[1]:
                seasonNum = seasonNums[ii]
                oGuiElement = cGuiElement('Staffel ' + seasonNum,
                                          SITE_IDENTIFIER, 'showEpisodes')
                if META and not sImdb == '':
                    meta[ii]['TVShowTitle'] = sTitle
                    oGuiElement.setItemValues(meta[ii])
                    oGuiElement.setThumbnail(meta[ii]['cover_url'])
                    oGuiElement.setFanart(meta[ii]['backdrop_url'])
                oParams = ParameterHandler()
                oParams.setParam('siteUrl', URL_MAIN + '/' + str(aEntry[0]))
                oParams.setParam('Title', sTitle)
                oParams.setParam('Season', seasonNum)
                oGui.addFolder(oGuiElement, oParams, iTotal=len(aResult[1]))
                ii += 1
    oGui.setView('seasons')
    oGui.setEndOfDirectory()
def load():
    oGui = cGui()

    oParams = ParameterHandler()
    oParams.setParam('siteUrl', URL_SERIES)
    oGui.addFolder(cGuiElement('All Shows', SITE_IDENTIFIER, 'showSeries'),
                   oParams)
    oGui.addFolder(cGuiElement('A-Z', SITE_IDENTIFIER, 'showCharacters'),
                   oParams)
    oGui.addFolder(
        cGuiElement('Last Episodes', SITE_IDENTIFIER, 'showLastEpisodes'),
        oParams)
    oGui.addFolder(cGuiElement('Search', SITE_IDENTIFIER, 'showSearch'),
                   oParams)

    oGui.setEndOfDirectory()
예제 #13
0
def showDocuMenu():
    oGui = cGui()
    oParams = ParameterHandler()

    oGui.addFolder(cGuiElement('A-Z', SITE_IDENTIFIER, 'showCharacters'),
                   oParams)
    #oGui.addFolder(cGuiElement('Genres',SITE_IDENTIFIER,'showGenres'),oParams)
    oParams.setParam('siteUrl', URL_FAVOURITE_DOCU_PAGE)
    oGui.addFolder(
        cGuiElement('Beliebteste Dokumentationen', SITE_IDENTIFIER,
                    'showFavItems'), oParams)
    oParams.setParam('siteUrl', URL_LATEST_DOCU_PAGE)
    oGui.addFolder(
        cGuiElement('Neuste Dokumentationen', SITE_IDENTIFIER, 'showFavItems'),
        oParams)
    oGui.setEndOfDirectory()
def showGenres():
    oGui = cGui()

    oRequestHandler = cRequestHandler(URL_GENRE)
    oRequestHandler.addHeaderEntry('Referer', URL_MAIN)
    sHtmlContent = oRequestHandler.request()

    sPattern = '<div class="genre">.+?<span><strong>(.+?)</strong></span>'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if aResult[0]:
        for genreTitle in aResult[1]:
            oParams = ParameterHandler()
            oParams.setParam('sTitle', genreTitle)

            oGuiElement = cGuiElement()
            oGuiElement.setSiteName(SITE_IDENTIFIER)
            oGuiElement.setFunction('showSeriesForGenre')
            oGuiElement.setTitle(genreTitle)

            oGui.addFolder(oGuiElement, oParams)

    oGui.setEndOfDirectory()
예제 #15
0
import json
import sys
sys.path.append('modules')
import ParameterHandler

para = ParameterHandler.ParameterHandler('parameters.json', 'Preprocessor')

#print("Parameters: " + str(parameters))
#preprocessor_parameters = parameters["Preprocessor"]
#print(preprocessor_parameters[0])
#print( json.dumps(parameters, indent=3) )
#print(preprocessor_parameters[0].keys())

my_value = para.get_value_by_name("start_frame")
print("Value: " + str(my_value))

#JSON	Python
#object	dict
#array	list
#string	str
#number (int)	int
#number (real)	float
#true	True
#false	False
#null	None
def showEpisodes():
    oGui = cGui()
    oParams = ParameterHandler()
    sShowTitle = oParams.getValue('Title')
    sUrl = oParams.getValue('siteUrl')
    sImdb = oParams.getValue('imdbID')
    sSeason = oParams.getValue('Season')

    logger.info("%s: show episodes of '%s' season '%s' " %
                (SITE_NAME, sShowTitle, sSeason))

    oRequestHandler = cRequestHandler(sUrl)
    sHtmlContent = oRequestHandler.request()

    sPattern = '<table>(.*?)</table>'
    oParser = cParser()
    aResult = oParser.parse(sHtmlContent, sPattern)
    if (aResult[0] == True):
        sHtmlContent = aResult[1][0]
        sPattern = '<td>([^<]+)</td>\s*<td><a href="([^"]+)">(.*?)</a>.*?<td class="nowrap">(\s*<a|\s*</td).*?</tr>'
        aResult = oParser.parse(sHtmlContent, sPattern)
        if (aResult[0] == True):
            for aEntry in aResult[1]:
                if aEntry[3].strip() == '</td':
                    continue
                sNumber = str(aEntry[0]).strip()
                oGuiElement = cGuiElement('Episode ' + sNumber,
                                          SITE_IDENTIFIER, 'showHosters')
                if META == True and not sImdb == '':
                    oMetaget = metahandlers.MetaData()
                    meta = oMetaget.get_episode_meta(sShowTitle, sImdb,
                                                     sSeason, sNumber)
                    meta['TVShowTitle'] = sShowTitle
                    oGuiElement.setItemValues(meta)
                    oGuiElement.setThumbnail(meta['cover_url'])
                    oGuiElement.setFanart(meta['backdrop_url'])

                sPattern = '<strong>(.*?)</strong>'
                aResultTitle = oParser.parse(str(aEntry[2]), sPattern)
                if (aResultTitle[0] == True):
                    sTitleName = str(aResultTitle[1][0]).strip()
                else:
                    sPattern = '<span lang="en">(.*?)</span>'
                    aResultTitle = oParser.parse(str(aEntry[2]), sPattern)
                    if (aResultTitle[0] == True):
                        sTitleName = str(aResultTitle[1][0]).strip()
                    else:
                        sTitleName = ''
                sTitle = sNumber
                sTitleName = cUtil().unescape(
                    sTitleName.decode('utf-8')).encode('utf-8')
                oParams.setParam('EpisodeTitle', sTitleName)
                sTitle = sTitle + ' - ' + sTitleName

                oGuiElement.setTitle(sTitle)
                oParams.setParam('siteUrl', URL_MAIN + '/' + str(aEntry[1]))
                oParams.setParam('EpisodeNr', sNumber)

                oParams.setParam('Title',
                                 sShowTitle + ' - S' + sSeason + 'E' + sTitle)
                oGui.addFolder(oGuiElement, oParams, iTotal=len(aResult[1]))

    oGui.setView('episodes')
    oGui.setEndOfDirectory()