def getHosters(): oParams = ParameterHandler() sTitle = oParams.getValue('Title') sUrl = oParams.getValue('siteUrl') logger.info("%s: hosters for movie '%s' " % (SITE_IDENTIFIER, sTitle)) oRequestHandler = cRequestHandler(URL_MAIN+sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<iframe src="([^"]+)"' oParser = cParser() aResult = oParser.parse(sHtmlContent.lower(), sPattern) hosters = [] sFunction='getHosterUrl' if (aResult[0] == True): for aEntry in aResult[1]: hoster = {} hoster['link'] = aEntry # extract domain name temp = aEntry.split('//') temp = str(temp[-1]).split('/') temp = str(temp[0]).split('.') hoster['name'] = temp[-2] hosters.append(hoster) hosters.append(sFunction) return hosters
def showXXX(): params = ParameterHandler() oGui = cGui() __createMainMenuEntry(oGui, 'Alle Pornos', 661) #im Moment können keine Clips abgespielt werden da die Cliphoster nicht aufgelöst werden können #__createMainMenuEntry(oGui, 'Clips', 669, sSecurityValue) oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setFunction('displaySearch') oGuiElement.setTitle('Suche XXX Streams') params.setParam('searchType', '530') oGui.addFolder(oGuiElement, params) __createMainMenuEntry(oGui, 'Amateure', '661&prefixid=Amateure1') __createMainMenuEntry(oGui, 'Anal', '661&prefixid=Anal') __createMainMenuEntry(oGui, 'Asia', '661&prefixid=Asia') __createMainMenuEntry(oGui, 'Black', '661&prefixid=Ebony') __createMainMenuEntry(oGui, 'B*****b', '661&prefixid=B*****b') __createMainMenuEntry(oGui, 'Deutsch', '661&prefixid=Deutsch') __createMainMenuEntry(oGui, 'Fetish', '661&prefixid=Fetish') __createMainMenuEntry(oGui, 'Große Brüste', '661&prefixid=GrosseBrueste') __createMainMenuEntry(oGui, 'Gruppensex', '661&prefixid=Gruppensex') __createMainMenuEntry(oGui, 'Gay', '661&prefixid=Gay') __createMainMenuEntry(oGui, 'Hardcore', '661&prefixid=Hardcore') __createMainMenuEntry(oGui, 'International', '661&prefixid=International') __createMainMenuEntry(oGui, 'Lesben', '661&prefixid=Lesben') __createMainMenuEntry(oGui, 'Masturbation', '661&prefixid=Masturbation') __createMainMenuEntry(oGui, 'Teens', '661&prefixid=Teens') oGui.setEndOfDirectory()
def __getHtmlContent(sUrl = None, sSecurityValue=None): params = ParameterHandler() # Test if a url is available and set it if sUrl is None and not params.exist('siteUrl'): logger.info("There is no url we can request.") return False else: if sUrl is None: sUrl = params.getValue('siteUrl') # Test if a security value is available if sSecurityValue is None: if params.exist('securityCookie'): sSecurityValue = params.getValue('securityCookie') else : sSecurityValue = '' # Make the request oRequest = cRequestHandler(sUrl) #oRequest.addHeaderEntry('Cookie', sSecurityValue) #oRequest.addHeaderEntry('Accept', '*/*') #oRequest.addHeaderEntry('Host', 'g-stream.in') return oRequest.request()
def showGenres(): oGui = cGui() oParams = ParameterHandler() oParams.setParam('siteUrl','/index.php/hd-oase/video/latest') oGuiElement = cGuiElement('Neuste', SITE_IDENTIFIER, 'showMovies') oGui.addFolder(oGuiElement, oParams) sUrl = URL_HD_GENRE oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<div id="inner_content".*?<div class="clr">' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if not aResult[0]: return sPattern = '<div class="avs_thumb".*?href="([^"]+)".*?<span class="name">(.*?)</span>' aResult = oParser.parse(aResult[1][0], sPattern) if not aResult[0]: return sFunction = 'showMovies' iTotal = len(aResult[1]) for aEntry in aResult[1]: sLabel = aEntry[1] sUrl = aEntry[0] oParams.setParam('siteUrl',sUrl) oGuiElement = cGuiElement(sLabel, SITE_IDENTIFIER, sFunction) oGui.addFolder(oGuiElement, oParams, iTotal = iTotal+1) 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 showMovies(): oParams = ParameterHandler() if oParams.getValue('siteUrl'): sUrl = URL_MAIN+oParams.getValue('siteUrl') else: return oGui = cGui() oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<div id="inner_content".*?<div class="clr">' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if not aResult[0]: return # parse movie entries __parseMovieList(oGui, str(aResult[1][0]), oParams = oParams) # check for next site aResult = oParser.parse(sHtmlContent, 'href="([^"]+)" title="Weiter"') if aResult[0]: oParams.setParam('siteUrl',aResult[1][0]) oGuiElement = cGuiElement(' Next page ...', SITE_IDENTIFIER, 'showMovies') oGui.addFolder(oGuiElement, oParams) oGui.setView('movies') oGui.setEndOfDirectory()
def __parseMovieList(oGui, sHtml, oParams = False): if not oParams: oParams = ParameterHandler() sPattern = '<div class="avs_thumb".*?href="([^"]+)".*?class="image" src="([^"]+)".*?<span class="title">([^<]+)</span>' oParser = cParser() aResult = oParser.parse(sHtml, sPattern) if not aResult[0]: return sFunction = 'getHosters' iTotal = len(aResult[1]) for aEntry in aResult[1]: sLabel = aEntry[2].strip() sNextUrl = aEntry[0] sThumb = aEntry[1] oParams.setParam('siteUrl',sNextUrl) oParams.setParam('Title', sLabel) oGuiElement = cGuiElement(sLabel, SITE_IDENTIFIER, sFunction) oGuiElement.setThumbnail(sThumb) if META: oMetaget = metahandlers.MetaData() meta = oMetaget.get_meta('movie', sLabel) oGuiElement.setItemValues(meta) if not meta['cover_url'] == '': oGuiElement.setThumbnail(meta['cover_url']) if not meta['backdrop_url'] == '': oGuiElement.setFanart(meta['backdrop_url']) oGui.addFolder(oGuiElement, oParams, bIsFolder = False, iTotal = iTotal)
def __createMainMenuItem(oGui, sTitle, sPlaylistId): oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setFunction('listVideos') oGuiElement.setTitle(sTitle) oOutputParameterHandler = ParameterHandler() oOutputParameterHandler.setParam('playlistId', sPlaylistId) oGui.addFolder(oGuiElement, oOutputParameterHandler)
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 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 gotoPage(): oGui = cGui() pageNum = oGui.showNumpad() if not pageNum: return params = ParameterHandler() siteUrl = params.getValue('normalySiteUrl')+pageNum __parseMovieResultSite(oGui, siteUrl, iPage = int(pageNum)) oGui.setEndOfDirectory()
def parseMovieResultSite(): oGui = cGui() params = ParameterHandler() if (params.exist('siteUrl')): siteUrl = params.getValue('siteUrl') normalySiteUrl = params.getValue('normalySiteUrl') iPage = params.getValue('iPage') __parseMovieResultSite(oGui, siteUrl, normalySiteUrl, iPage) oGui.setEndOfDirectory()
def _search(oGui, sSearchText): params = ParameterHandler() sSearchType = params.getValue('searchType') sUrl = URL_SEARCH+'?do=process&childforums=1&do=process&exactname=1&forumchoice[]='+sSearchType+\ '&query=' + str(sSearchText) + '&quicksearch=1&s=&securitytoken=guest&titleonly=1' oRequest = cRequestHandler(sUrl) oRequest.request() sUrl = oRequest.getRealUrl() __parseMovieResultSite(oGui, sUrl)
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 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 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 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 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 move(self): #What angle it need to travel Angle = randrange(0,360) #How much time until it changes direction TOM = randrange(config.getVal("-turnIntervalMin"),config.getVal("-turnIntervalMax"),1) SPEED = config.getVal("-speed") #Translates this into how fast it should travel in each direction Movementx = math.cos(math.radians(Angle))*SPEED Movementy = math.sin(math.radians(Angle))*SPEED #Stops dead people moving if self.status == 2: Movementx = 0 Movementy = 0 return Movementx, Movementy, TOM
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 __createMainMenuEntry(oGui, sMenuName, iCategoryId, sSecurityValue=''): oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setTitle(sMenuName) oGuiElement.setFunction('parseMovieResultSite') params = ParameterHandler() params.setParam('normalySiteUrl', URL_CATEGORIES + str(iCategoryId) + '&order=desc&page=') params.setParam('siteUrl', URL_CATEGORIES + str(iCategoryId) + '&order=desc&page=1') params.setParam('iPage', 1) params.setParam('securityCookie', sSecurityValue) oGui.addFolder(oGuiElement, params)
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 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 differentialEvolution(self, options): options_handler = ParameterHandler.DifferentialEvolution() scipy.optimize.differential_evolution( self.differentialEvolutionCostFunction, options_handler.getBounds(), args=(options_handler, options), )
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(): oGui = cGui() oParams = ParameterHandler() oGui.addFolder(cGuiElement('Series', SITE_IDENTIFIER, 'showSeries'), oParams) oGui.addFolder(cGuiElement('Genres', SITE_IDENTIFIER, 'showGenres'), oParams) oGui.setEndOfDirectory()
def __showPlayMenu(self, oGui, sMediaUrl, oHoster, bGetRedirectUrl, sFileName=''): print "cHosterGui.showPlayMenu is deprecated" oGuiElement = cGuiElement('play',self.SITE_NAME,'play') oOutputParameterHandler = ParameterHandler() oOutputParameterHandler.setParam('sMediaUrl', sMediaUrl) oOutputParameterHandler.setParam('bGetRedirectUrl', bGetRedirectUrl) oOutputParameterHandler.setParam('sFileName', sFileName) oGui.addFolder(oGuiElement, oOutputParameterHandler)
def resolveSpread(self): #Makes people sick if self.status == -1: self.status = 1 self.color = config.getVal("-sickColor") #Person died elif self.status == -2: self.status = 2 self.color = config.getVal("-deathColor") #Person became permanantly imune elif self.status == -3: self.status = 3 self.color = config.getVal("-imuneColor") #Person is temporarily imune and we remove some of the time left as temporary imunity elif self.status == 4: self.healthyTime -= 1*loop_factor if self.healthyTime <= 0: self.status = 0 self.color = config.getVal("-healthyColor")
def getHosterUrl(sUrl): results = [] if 'g-stream.in/secure/' in sUrl : sHoster = sUrl.split('secure/')[-1].split('/')[0] params = ParameterHandler() 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
def play(): oInputParameterHandler = ParameterHandler() if (oInputParameterHandler.exist('sUrl') and oInputParameterHandler.exist('sTitle')): sUrl = oInputParameterHandler.getValue('sUrl') sTitle = oInputParameterHandler.getValue('sTitle') oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() sPattern = 'ake_playlist.php%3Fflv%3D(.*?)%26' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sStreamUrl = URL_GET_STREAM + str(aResult[1][0]) result = {} result['streamUrl'] = sStreamUrl result['resolved'] = True return result return False
def load(): oGui = cGui() sSecurityValue = __getSecurityCookieValue() __createMainMenuEntry(oGui, 'Aktuelle KinoFilme', 542, sSecurityValue) oGui.addFolder(cGuiElement('HD Filme',SITE_IDENTIFIER,'showHDMovies')) __createMainMenuEntry(oGui, 'Action', 591, sSecurityValue) __createMainMenuEntry(oGui, 'Horror', 593, sSecurityValue) __createMainMenuEntry(oGui, 'Komoedie', 592, sSecurityValue) __createMainMenuEntry(oGui, 'Thriller', 595, sSecurityValue) __createMainMenuEntry(oGui, 'Drama', 594, sSecurityValue) __createMainMenuEntry(oGui, 'Fantasy', 655, sSecurityValue) __createMainMenuEntry(oGui, 'Abenteuer', 596, sSecurityValue) __createMainMenuEntry(oGui, 'Animation', 677, sSecurityValue) __createMainMenuEntry(oGui, 'Dokumentation', 751, sSecurityValue) #__createMainMenuEntry(oGui, 'Serien', 543, sSecurityValue) oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setFunction('displaySearch') oGuiElement.setTitle('Suche Filme') params = ParameterHandler() params.setParam('securityCookie', sSecurityValue) params.setParam('searchType', '528') oGui.addFolder(oGuiElement, params) # Serien parsing nicht implementiert #oGuiElement = cGuiElement() #oGuiElement.setSiteName(SITE_IDENTIFIER) #oGuiElement.setFunction('displaySearch') #oGuiElement.setTitle('Suche Serien') #params.setParam('searchType', '532') #oGui.addFolder(oGuiElement, params) if showAdult(): oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setFunction('showXXX') oGuiElement.setTitle('XXX') oGui.addFolder(oGuiElement, params) oGui.setEndOfDirectory()
def getHosterUrlandPlay(): oGui = cGui() oParams = ParameterHandler() sTitle = oParams.getValue('sTitle') sUrl = oParams.getValue('siteUrl') 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]: sStreamUrl = aResult[1][0] oHoster = cHosterHandler().getHoster(sStreamUrl) cHosterGui().showHosterMenuDirect(oGui, oHoster, sStreamUrl, sFileName=sTitle) oGui.setEndOfDirectory() return oGui.setEndOfDirectory()
def bruteForce(self, options): options_generator = ParameterHandler.BruteForce().optionsGenerator() counter = 1 self.handleExtractionMessages = self.handleExtractionMessages3 for signal_processing_options in options_generator: file_name = "C:\\Users\\Anti\\Desktop\\PycharmProjects\\VEP-BCI\\src\\results_brute\\" + str( counter) + ".txt" results_file = open(file_name, "w") results_file.write(str(signal_processing_options) + "\n") result = self.costFunction(options, signal_processing_options) results_file.write(str(result)) results_file.close() counter += 1
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 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()
def __parseMovieList(oGui, sHtml, oParams = False): if not oParams: oParams = ParameterHandler() sPattern = '<div class="avs_thumb".*?href="([^"]+)".*?class="image" src="([^"]+)".*?<span class="title">([^<]+)</span>' oParser = cParser() aResult = oParser.parse(sHtml, sPattern) if not aResult[0]: return sFunction = 'getHosters' iTotal = len(aResult[1]) for aEntry in aResult[1]: sLabel = aEntry[2].split('(') sTitle = sLabel[0].strip() sNextUrl = aEntry[0] sThumb = aEntry[1] oParams.setParam('siteUrl',sNextUrl) oParams.setParam('Title', sTitle) oGuiElement = cGuiElement(sTitle, SITE_IDENTIFIER, sFunction) oGuiElement.setThumbnail(sThumb) oGuiElement.setMediaType('movie') if len(sLabel)>1: year = sLabel[-1].replace(')','') oGuiElement.setYear(year) oGui.addFolder(oGuiElement, oParams, bIsFolder = False, iTotal = iTotal)
def getHosters(): hosters = [] params = ParameterHandler() if (params.exist('movieUrl') and params.exist('sMovieTitle')): sSiteUrl = params.getValue('movieUrl') sMovieTitle = params.getValue('sMovieTitle') sHtmlContent = __getHtmlContent(sUrl = sSiteUrl) sPattern = 'id="ame_noshow_post.*?<a href="([^"]+)" title="[^"]+" target="_blank">([^<]+)</a>' aResult = cParser().parse(sHtmlContent, sPattern) if aResult[0] == True: aHosters = [] for aEntry in aResult[1]: sUrl = aEntry[0] # extract hoster domainname if 'g-stream.in/secure/' in sUrl : sHoster = sUrl.split('secure/')[-1].split('/')[0].split('.')[-2] else: sHoster = sUrl.split('//')[-1].split('/')[0].split('.')[-2] hoster = {} hoster['link'] = sUrl hoster['name'] = sHoster hosters.append(hoster) hosters.append('getHosterUrl') return hosters
def __init__(self): #Le watchdog self.observer = Observer() # Parameters handler self.path_setter = ParameterHandler.PathSetter(my_debug_level) self.path_setter.OpenParamFile() self.path_setter.ParseParamFile() self.logfile = self.path_setter.GetLogginFile() # Le repertoire a scanner par le watchdog self.DIRECTORY_TO_WATCH = self.path_setter.GetMiSeqRootDir() #print('DIRECTORY_TO_WATCH ', self.DIRECTORY_TO_WATCH) self.path_setter.CloseParamFile()
def differentialEvolutionIdentification(self, options): options_handler = ParameterHandler.DifferentialEvolution4Params() self.counter = 1 self.directory = "C:\\Users\\Anti\\Desktop\\PycharmProjects\\VEP-BCI\\src\\results_4params\\" self.data = "" f = open(self.directory + "options.txt", "w") f.write(str(options)) f.close() # For timing cost function evaluation # for i in range(10): # self.differentialEvolutionIdentificationCostFunction((1,1,1,1,1,0.1,0.1,0.1,0.1,0.1,1,3), options_handler, options) scipy.optimize.differential_evolution( self.differentialEvolutionIdentificationCostFunction, options_handler.getBounds(), args=(options_handler, options), popsize=20, )
def draw(self): r = config.getVal("-squareLength") #Radius of square drawn canvas.create_rectangle(self.x-r, self.y-r, self.x+r, self.y+r, fill=self.color) #Draws the square #See if persons direction should change if self.TimeOfMovement <= 0: self.Movex, self.Movey, self.TimeOfMovement = self.move() #Moves person in the choosen direction elif self.TimeOfMovement > 0: self.x += self.Movex * loop_factor self.y += self.Movey * loop_factor self.TimeOfMovement -= loop_factor #Makes sure people don't move out of bounds self.x = self.x % widthCanvas self.y = self.y % heightCanvas else: print("Error: TimeOfMovement below threshold")
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 spread(self, folk): spreadType = config.getVal("-spreadType") #How it spreads from each person currently only one option spreadRadius = config.getVal("-spreadRadius") #How cole people need to be to spread dissease #Chances of changing into different state 1. deathChance = config.getVal("-chanceDeath") imunityChance = config.getVal("-chanceImune") healthyChance = config.getVal("-chanceHealthy") if self.status == 1: #Checks for every other person if they are so close as to spread disease to. for i in folk: if spreadType == 0: if i.status == 0 and math.sqrt((self.x-i.x)**2+(self.y-i.y)**2) <= spreadRadius: #Does makes it so it doesn't imeadieately spread from the person i.status = -1 #Checks for how a persons state changes if random.random() < deathChance*loop_factor: self.status = -2 self.TimeOfMovement = 0 elif random.random() < imunityChance*loop_factor: self.status = -3 elif random.random() < healthyChance*loop_factor: self.status = 4 self.color = "yellow" self.healthyTime = random.randint(config.getVal("-tempImuneMin"),config.getVal("-tempImuneMax"))
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 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 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 on_created(self, event): ''' Execute lorsque le watchdog a detecter qu une run MiSeq est terminee :param event: :return: ''' #Lorsqu une run MiSeq est terminee, le fichier CompletedJobInfo.xml est cree dans D:\Illumina\MiSeqOutput\IdDeLaRun if (isinstance(event, FileCreatedEvent)): if ((event.src_path.endswith('CompletedJobInfo.xml')) and (not os.path.dirname(event.src_path).endswith('Alignment'))): # Parameters handler self.path_setter = ParameterHandler.PathSetter(my_debug_level) self.path_setter.OpenParamFile() self.path_setter.ParseParamFile() #Modif_20200211 self.file_size_manager = ParameterHandler.FileSizeManager( my_debug_level) self.file_size_manager.OpenParamFile() self.file_size_manager.ParseParamFile() #path vers la run sur le MiSeq runpath = os.path.dirname(event.src_path) #Id de la run runname = os.path.basename(runpath) #Un object structure de la run terminee sur le MiSeq self.MiSeqRunObj = RunOnMiSeq(runpath) #Modif_20200130 #Object permettant la copie de run sur le disque 8T self.RunBackuperObj = RunBackuper( runpath, self.path_setter.GetBackupDiskDir()) # Message affichee dans la console self.ftl.LogMessage("La run {0} est termine".format(runname)) #Arborescence de la run sur le MiSeq self.MiSeqRunObj.SetPath() #On defini le nouveau nom de la run self.SetNewRunName() #Un object structure du nouveau repertoire d analyse a cree sur S:\\Partage\LSPQ_MiSeq\ self.LspqMiSeqRunObj = RunOnPartageLspqMiSeq( self.new_run_name, self.path_setter.GetPartageLspqMiSeqRootDir(), self.cartridge_name) #Arborescence du repertoire d analyse a cree sur le S:\\Partage\LSPQ_MiSeq\ self.LspqMiSeqRunObj.SetPath() self.ftl.LogMessage( "Creation de l'arborescence de la run {new_runname} dans S:\Partage\LSPQ_MiSeq" .format(new_runname=self.LspqMiSeqRunObj.GetRunName())) # On cree l arborescence du repertoire d analyse sur S:\\Partage\LSPQ_MiSeq\ self.LspqMiSeqRunObj.CreatePath() self.ftl.LogMessage( "Export des fichiers du MiSeq run {0} vers {1} en cours". format(runname, self.LspqMiSeqRunObj.GetRunPath())) #Export des fichiers vers S:\\Partage\LSPQ_MiSeq\RunName\1_Experimental self.ExportToLspqMiSeqExperimental() if self.CheckIfIridaSamplesInRun( self.MiSeqRunObj.GetSampleSheetPath()): self.CreateIridaSampleSheet(self.file_size_manager, self.new_run_name) #self.MiSeqRunObj.MonitorIridaSamplesTransfer(self.new_run_name) self.MiSeqRunObj.LaunchIridaUploader(self.new_run_name) else: self.ImportIridaUploaderInfoFile() #Concatener les sample sheet self.ConcatSampleSheet() self.ExportToLspqMiSeqMiSeqRunTrace() #Export des fichiers vers S:\\Partage\LSPQ_MiSeq\RunName\3_SequencesBrutes #Modif_20200211 self.ExportToLspqMiSeqSequenceBrute() #Modif_20200306 self.ftl.LogMessage( "Calcul des statistiques pour {0}".format(runname)) self.MiSeqRunObj.ComputeQualStat( self.LspqMiSeqRunObj.GetRunPath()) self.ftl.LogMessage( "Export des fichiers du MiSeq run {0} vers {1} est termine" .format(runname, self.LspqMiSeqRunObj.GetRunPath())) # Modif_20200130 self.ftl.LogMessage("Debut Backup run {0}".format(runname)) self.BackupMiSeqRun() self.ftl.LogMessage( "Fin Backup run {0}\n ----------------------------------". format(runname)) self.path_setter.CloseParamFile() del self.MiSeqRunObj del self.LspqMiSeqRunObj del self.path_setter
def play(self, siteResult=False): oGui = cGui() oInputParameterHandler = ParameterHandler() sMediaUrl = oInputParameterHandler.getValue('sMediaUrl') sFileName = oInputParameterHandler.getValue('sFileName') if not sFileName: sFileName = oInputParameterHandler.getValue('Title') if not sFileName: sFileName = oInputParameterHandler.getValue('title') if not sFileName: #nur vorrübergehend sFileName = oInputParameterHandler.getValue('sMovieTitle') sSeason = oInputParameterHandler.getValue('season') sEpisode = oInputParameterHandler.getValue('episode') sShowTitle = oInputParameterHandler.getValue('TvShowTitle') sThumbnail = oInputParameterHandler.getValue('thumb') if siteResult: sMediaUrl = siteResult['streamUrl'] logger.info('call play: ' + sMediaUrl) if siteResult['resolved']: sLink = sMediaUrl else: try: sLink = urlresolver.resolve(sMediaUrl) except: sLink = False #raise elif sMediaUrl: logger.info('call play: ' + sMediaUrl) sLink = urlresolver.resolve(sMediaUrl) else: oGui.showError('xStream', 'Hosterlink not found', 5) return False if sLink != False: logger.info('file link: ' + sLink) oGuiElement = cGuiElement() oGuiElement.setSiteName(self.SITE_NAME) oGuiElement.setMediaUrl(sLink) oGuiElement.setTitle(sFileName) if sThumbnail: oGuiElement.setThumbnail(sThumbnail) if sShowTitle: oGuiElement.addItemProperties('Episode',sEpisode) oGuiElement.addItemProperties('Season',sSeason) oGuiElement.addItemProperties('TvShowTitle',sShowTitle) #listItem = xbmcgui.ListItem(path=sLink) #listItem.setProperty('IsPlayable', 'true') #pluginHandle = cPluginHandler().getPluginHandle() #return xbmcplugin.setResolvedUrl(pluginHandle, True, listItem) oPlayer = cPlayer() oPlayer.clearPlayList() oPlayer.addItemToPlaylist(oGuiElement) if self.dialog: try: self.dialog.close() except: pass oPlayer.startPlayer() else: logger.info('file link: ' + str(sLink)) oGui.showError('xStream', 'File deleted or Link could not be resolved', 5) return False return True
import tkinter as tk from random import randrange import sys import time import ParameterHandler as config import random import math import matplotlib.pyplot as plt #Initializes settings args = sys.argv config.initializeConfig(args) #Parameters of canvas height and width widthCanvas = config.getVal("-width") heightCanvas = config.getVal("-height") #Sets up tkinter canvas root = tk.Tk() canvas = tk.Canvas(root,height=heightCanvas,width=widthCanvas,background="grey") canvas.pack() #Tracks time loop_factor = 0 #Arrays to store how many people are en each state at each iteration dataHealthy = [] dataSick = []
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()
def __parseMovieResultSite(oGui, siteUrl, normalySiteUrl = '', iPage = 1): if not normalySiteUrl: normalySiteUrl = siteUrl+'&page=' params = ParameterHandler() sPattern = '<a class="p1" href="[^"]+".*?<img class="large" src="(http://[^"]+)"(.*?)<a href="([^"]+)" id="([^"]+)">([^<]+)<(.*?)</tr>' #sPattern = 'class="alt1Active".*?<a href="(forumdisplay.php[^"]+)".*?>([^<]+)<.*?(src="([^"]+)|</td>).*?</tr>' #Serien # request sHtmlContent = __getHtmlContent(sUrl = siteUrl) sHtmlContent # parse content oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): return total = len(aResult[1]) for aEntry in aResult[1]: sMovieTitle = aEntry[4].replace('&','&') sTitle = sMovieTitle sUrl = URL_SHOW_MOVIE + str(aEntry[3]).replace('thread_title_', '') year = '' aResult = oParser.parse(aEntry[5], ' ([0-9]{4}) -') if aResult[0]: year = aResult[1][0] aResult = oParser.parse(aEntry[1], '(title="HD Quali")') if aResult[0]: sTitle = sTitle + ' [HD]' oGuiElement = cGuiElement(sTitle,SITE_IDENTIFIER,'getHosters') oGuiElement.setMediaType('movie') oGuiElement.setYear(year) oGuiElement.setThumbnail(aEntry[0]) params.setParam('movieUrl', sUrl) params.setParam('sMovieTitle', sMovieTitle) oGui.addFolder(oGuiElement, params, bIsFolder = False, iTotal = total) # check for next site iTotalPages = __getTotalPages(iPage, sHtmlContent) if (iTotalPages >= int(iPage)+1): params = ParameterHandler() params.setParam('iPage', int(iPage)+1) params.setParam('normalySiteUrl', normalySiteUrl) params.setParam('siteUrl', normalySiteUrl+str(int(iPage)+1)) oGui.addNextPage(SITE_IDENTIFIER,'parseMovieResultSite', params, iTotalPages) if iTotalPages > 1: oGuiElement = cGuiElement('Go to page x of '+str(iTotalPages),SITE_IDENTIFIER,'gotoPage') params = ParameterHandler() oGui.addFolder(oGuiElement, params) oGui.setView('movies')