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()
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()
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 = ""
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()
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()
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()