def showSaisons(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'colo_cont">.+?>([^<]*)</p>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sDesc = aResult[1][0] sDesc = ('[I][COLOR coral]%s[/COLOR][/I] %s') % (' SYNOPSIS : \r\n\r\n', sDesc) else: sDesc = '' sPattern = 'class="item">.+?href="([^"]+)".+?<h2>([^<]+)' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl2 = aEntry[0] sTitle = sMovieTitle + ' ' + aEntry[1] oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addEpisode(SITE_IDENTIFIER, 'showEpisodes', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showEpisodes(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sDesc = '' sPattern = 'Synopsis:(.*?)(?:<ul|class="|Autre Nom)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sDesc = aResult[1][0] sDesc = cleanDesc(sDesc) sThumb = '' sPattern = 'ImageObject.*?primaryimage.+?"(https.*?jpg)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sThumb = aResult[1][0] sPattern = '(?:right">|<\\/a>)\\s*<a href="(https.+?\\/episode\\/.+?)".+?list-group-item.+?item-action">([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in reversed(aResult[1]): sUrl = aEntry[0] sTitle = aEntry[1] oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addEpisode(SITE_IDENTIFIER, 'showLinks', sTitle, 'animes.png', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showAlpha(): oGui = cGui() sAlpha = string.ascii_lowercase listAlpha = list(sAlpha) liste = [] url1 = tag_alpha + ';' req = ANIM_LIST[0] oRequestHandler = cRequestHandler(req) sHtmlContent = oRequestHandler.request() # on propose quand meme en premier la liste complete oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', ANIM_LIST[0]) oGui.addDir(SITE_IDENTIFIER, ANIM_LIST[1], ' [COLOR coral]' + 'Animés (Liste complète)' + '[/COLOR]', 'listes.png', oOutputParameterHandler) # récupere les chiffres dispos sPattern = 'href="#gti_(\d+)' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: liste.append([str(aEntry), url1 + str(aEntry)]) for alpha in listAlpha: liste.append([str(alpha).upper(), url1 + str(alpha)]) # sUrl = 'tagalpha ;alpha' for sTitle, sUrl in liste: oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showAnims', 'Lettre [COLOR coral]' + sTitle + '[/COLOR]', 'listes.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showEpisodes(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') sSaison = oInputParameterHandler.getValue('sSaison') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '(?:class="saisontab">.+?|<.a>)<a\shref="([^"]*).+?fsa-ep">([^<]*)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl2 = aEntry[0] sEpisode = aEntry[1].replace('é', 'e').strip() # épisode 2 if 'http' not in sUrl2: sUrl2 = URL_MAIN[:-1] + sUrl2 sTitle = sMovieTitle + ' ' + sSaison + ' ' + sEpisode oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addEpisode(SITE_IDENTIFIER, 'showSerieLinks', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showLastEp(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '"episode":"([^"]+)","title":"([^"]+)","url":"([^"]+)",.+?"url_image":"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sUrl2 = URL_MAIN + aEntry[2] sThumb = aEntry[3] sTitle = aEntry[1] + " " + aEntry[0] sDesc = '' oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addAnime(SITE_IDENTIFIER, 'seriesHosters', sTitle, '', sThumb, sDesc, oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showSaisonEpisodes(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() try: sDesc = '' sPattern = '<p>(.+?)</p>' aResult = oParser.parse(sHtmlContent, sPattern) if aResult[0]: sDesc = aResult[1][0] except: pass sPattern = '"episode":"([^"]+)".+?"url":"([^"]+)","url_image":"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sTitle = sMovieTitle + ' ' + aEntry[0].replace('Ep. ', 'E') sUrl2 = URL_MAIN + aEntry[1].replace('\\/', '/') sThumb = aEntry[2] oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addEpisode(SITE_IDENTIFIER, 'showSeriesHosters', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showSelectType(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sYear = oInputParameterHandler.getValue('sYear') oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() oParser = cParser() sPattern = 'mb-3 d-block">([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) sDesc = 'no description' oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sYear', sYear) # (a modifier car ce n'est plus le cas) # dans le cas d'une recherche on ne sait pas si c'est un film ou une serie # class="description">.*?<br>([^<]+) if (aResult[0] == True): sDesc = ('[I][COLOR grey]%s[/COLOR][/I] %s') % ('Synopsis :', aResult[1][0]) if '<meta name=description content="serie' in sHtmlContent: oGui.addTV(SITE_IDENTIFIER, 'showSaisons', sMovieTitle, '', sThumb, sDesc, oOutputParameterHandler) else: oGui.addMovie(SITE_IDENTIFIER, 'showLinks', sMovieTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showNews(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<h3 style="color: .+?;">.+? : <a title="([^"]+)" href="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: # traitement pour affichage de la langue sLang = '' if '/vf/' in sUrl or '/vostfr/' in sUrl: sLang = '' elif 'VF' in aEntry[0]: sLang = 'VF' elif 'VOSTFR' in aEntry[0]: sLang = 'VOSTFR' sUrl = aEntry[1] sTitle = aEntry[0].replace(' VOSTFR', '').replace(' VF', '') sDisplayTitle = ('%s (%s)') % (sTitle, sLang) sFilter = re.search('(\d+)-(\d+)', sUrl) if sFilter: continue oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sDisplayTitle, '', '', oOutputParameterHandler) oGui.setEndOfDirectory()
def __getMediaLinkForGuest(self): import random api_call = False url = 'https://1fichier.com/?' + self.__getIdFromUrl(self.__sUrl) adcode = random.uniform(000.000000000, 999.999999999) oRequestHandler = cRequestHandler(url) oRequestHandler.setRequestType(1) oRequestHandler.addHeaderEntry('Host', url.split('/')[2]) oRequestHandler.addHeaderEntry('Referer', url) oRequestHandler.addHeaderEntry( 'Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Accept-Language', 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3') oRequestHandler.addHeaderEntry('Content-Type', 'application/x-www-form-urlencoded') oRequestHandler.addParameters('dl_no_ssl', 'on') oRequestHandler.addParameters('adz', adcode) sHtmlContent = oRequestHandler.request() #fh = open('c:\\test.txt', "w") #fh.write(sHtmlContent) #fh.close api_call = self.GetMedialinkDL(sHtmlContent) if (api_call): if isPremium: api_call = api_call + '&' + self.oPremiumHandler.AddCookies() return True, api_call return False, False
def hostersLink(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') referer = oInputParameterHandler.getValue('referer') pdata = oInputParameterHandler.getValue('pdata') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sYear = oInputParameterHandler.getValue('sYear') oRequest = cRequestHandler(sUrl) oRequest.setRequestType(1) oRequest.addHeaderEntry( 'User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:70.0) Gecko/20100101 Firefox/70.0' ) oRequest.addHeaderEntry('Referer', referer) oRequest.addHeaderEntry('Accept', '*/*') oRequest.addHeaderEntry('Accept-Language', 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3') oRequest.addHeaderEntry('Content-Type', 'application/x-www-form-urlencoded') oRequest.addParametersLine(pdata) sHtmlContent = oRequest.request() sPattern = '(http[^"]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = aEntry oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def showAnimes(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'class="menublocks".+?Synopsis:([^"]+)" *href="([^"]+)">([^<]+)</a>.+?data-lazy-src="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME, large=True) oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sDesc = aEntry[0] sUrl = aEntry[1] sTitle = aEntry[2] sThumb = aEntry[3] # traitement du titre pour compatibilite sTitle = sTitle.replace('(', ' ').replace(')', ' ') sTitle = re.sub('([0-9]+) .. ([0-9\?]+)', '\\1-\\2', sTitle) sTitle = re.sub('([0-9]+) & ([0-9\?]+)', '\\1-\\2', sTitle) oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oGui.addAnime(SITE_IDENTIFIER, 'showEpisodes', sTitle, 'animes.png', sThumb, sDesc, oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showLinks(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<div class="subsection">.+?label-default">\D*(\d+)([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sId = aEntry[0] sHost = aEntry[1].replace(' ', '').replace('-', '') sHost = re.sub('\.\w+', '', sHost) pdata = 'id=' + sId sMovieTitle = re.sub('\[.+?\]', '', sMovieTitle) sDisplayTitle = ('%s [COLOR coral]%s[/COLOR]') % (sMovieTitle, sHost) sUrl2 = URL_MAIN + 'remote/ajax-load_video' oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sHost', sHost) oOutputParameterHandler.addParameter('siteRefer', sUrl) oOutputParameterHandler.addParameter('pdata', pdata) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sDisplayTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def ShowSaisonEpisodes(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'class="Title AA-Season.+?>Season <span>([^<]+)</span>|class="MvTbImg">.+?img src.+?["|;]([^\"]+?)["|;].+?href="([^"]+)">([^<]+)<' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: if aEntry[0]: oGui.addText( SITE_IDENTIFIER, '[COLOR crimson]Saison: ' + aEntry[0] + '[/COLOR]') else: sThumb = re.sub('/w\d+', '/w342', aEntry[1], 1) if sThumb.startswith('//'): sThumb = 'https:' + sThumb sUrl2 = aEntry[2] sTitle = aEntry[3] oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addEpisode(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showIsdb(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<a href="([^"]+)" class="split button expand text-left.+?> *([^<> ]+)*[.].+?<' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sUrl2 = URL_MAIN + aEntry[0] sHoster = aEntry[1].capitalize() sThumb = 'file:///usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer/tsiplayer/addons/resources/art/replay.png' sTitle = ('%s [COLOR coral]%s[/COLOR]') % (sMovieTitle, sHoster) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sTitle, sThumb, '', oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showLinks(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'code="([^"]+).+?</i>([^<]+).+?flag/([^ ]+).png' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sHost = aEntry[1].replace('www.', '') sHost = re.sub('\..+', '', sHost).capitalize() sLang = aEntry[2].replace('default', '').upper() sUrl = URL_MAIN + 'll/captcha?hash=' + aEntry[0] sTitle = ('%s (%s) [COLOR coral]%s[/COLOR]') % (sMovieTitle, sLang, sHost) oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sHost', sHost) oOutputParameterHandler.addParameter('sLang', sLang) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addLink(SITE_IDENTIFIER, 'showHosters', sTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showSeriesList(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<li class="alpha-title"><h3>([^<]+)</h3>|</li><li class="item-title">.+?href="([^"]+)">([^<]+)</a>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break if aEntry[0]: oGui.addText(SITE_IDENTIFIER, '[COLOR red]' + aEntry[0] + '[/COLOR]') else: sUrl = aEntry[1] sTitle = aEntry[2] oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oGui.addTV(SITE_IDENTIFIER, 'showSeries', sTitle, '', '', '', oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showMovies(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'class=portfolio-image>.+?src="*([^ ]+\.jpg).+?synopsis>([^<]+)<.+?href="(https[^"]+)".+?<h4>([^<]+)<' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sThumb = URL_MAIN + aEntry[0] sDesc = aEntry[1] sUrl = aEntry[2] sTitle = aEntry[3] oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addMisc(SITE_IDENTIFIER, 'showHosters', sTitle, 'enfants.png', sThumb, sDesc, oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showThemes(): oGui = cGui() oParser = cParser() oRequestHandler = cRequestHandler('siteUrl') sHtmlContent = oRequestHandler.request() sHtmlContent = oParser.abParse( sHtmlContent, '<lien1>Portail pour les familles</lien1><br>', '<lien1><i class=icon-circle>') sPattern = '<a href=([^>]+)><lien3><i class=icon-circle></i>([^<]+)</lien3></a><br>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl = URL_MAIN + aEntry[0] sTitle = aEntry[1] oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def __getMediaLinkForGuest(self): qua = [] url = [] api_call = '' oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = '((?:h|s)d)_src:"([^"]+)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: qua.append(str(aEntry[0])) url.append(str(aEntry[1])) #dialogue qualité api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def showGenres(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() siteUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(URL_MAIN + 'accueil/') sHtmlContent = oRequestHandler.request() sPattern = '<li class="cat-item cat-item-.+?href="([^"]+)">([^<]+)<' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl = aEntry[0] + siteUrl sTitle = aEntry[1] oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def showSelectType(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sYear = oInputParameterHandler.getValue('sYear') oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() sDesc = '' oParser = cParser() sPattern = 'class="description">.*?<br>([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sDesc = ('[I][COLOR grey]%s[/COLOR][/I] %s') % ('Synopsis :', aResult[1][0]) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sYear', sYear) if 'class="num-epi">' in sHtmlContent: oGui.addTV(SITE_IDENTIFIER, 'showSXE', sMovieTitle, '', sThumb, sDesc, oOutputParameterHandler) else: oGui.addMovie(SITE_IDENTIFIER, 'showLink', sMovieTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() oParser = cParser() #Dean Edwards Packer sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{file:"([^"]+)"\,label:"([^"]+)"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): #initialisation des tableaux url = [] qua = [] #Remplissage des tableaux for i in aResult[1]: url.append(str(i[0])) qua.append(str(i[1])) #tableau api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def showGenres(): oGui = cGui() oParser = cParser() oRequestHandler = cRequestHandler(URL_MAIN) sHtmlContent = oRequestHandler.request() sStart = 'Film Par Genre' sEnd = 'Film Par Annee' sHtmlContent = oParser.abParse(sHtmlContent, sStart, sEnd) sPattern = '<li><a href="([^<]+)">([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sTitle = aEntry[1] sUrl = URL_MAIN[:-1] + aEntry[0] oOutputParameterHandler.addParameter('siteUrl', sUrl) oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler) oGui.setEndOfDirectory()
def __getMediaLinkForGuest(self): api_call = False sUrl = 'https://www.vidbm.com/embed-' + self.__sUrl + '.html?auto=1' oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() oParser = cParser() packed = CheckCpacker(sHtmlContent) if packed: aa = CheckAADecoder(packed) if aa: sPattern = 'sources: *\[{file:"([^"]+)"' aResult = oParser.parse(aa, sPattern) if (aResult[0] == True): api_call = aResult[1][0] + '|User-Agent=' + UA if (api_call): return True, api_call return False, False
def showSaisons(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sDesc = '' sPattern = 'class="description.+?<p>(.+?)<.p><.div>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sDesc = aResult[1][0] sDesc = ('[I][COLOR grey]%s[/COLOR][/I] %s') % ('Synopsis : ', sDesc) sPattern = 'choose-season.+?ref="([^"]+).+?inline">([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl2 = aEntry[0] saison = aEntry[1] sTitle = ("%s %s") % (sMovieTitle, ' Saison ' + saison) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oGui.addSeason(SITE_IDENTIFIER, 'ShowEpisodes', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def showSeriesHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl.replace(' ', '%20')) oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Accept-Encoding', 'gzip, deflate') sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = "\?domain=(.+?)\.|'download' rel=.+?href='([^']+)'>([^<]+)" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: if aEntry[0]: oGui.addText(SITE_IDENTIFIER, '[COLOR red]' + re.sub('\.\w+', '', aEntry[0]) + '[/COLOR]') else: if not "Streaming" in aEntry[2]: sUrl2 = URL_MAIN[:-1] + aEntry[1] sTitle = sMovieTitle + ' ' + aEntry[2].replace('FINAL ', '') oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addLink(SITE_IDENTIFIER, 'Display_protected_link', sTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory() else: showHosters()
def showSaisons(): # Uniquement saison a chaque fois oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sStart = '<i class="fa fa-server mr5">' sEnd = '<noscript>' sHtmlContent = oParser.abParse(sHtmlContent, sStart, sEnd) sPattern = 'href="([^"]+)">([^<]+)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl = aEntry[0] sTitle = sMovieTitle + aEntry[1] # sTitle = re.sub('- Saison \d+', '', sTitle) # double affichage de la saison oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sDesc', sDesc) oGui.addEpisode(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()
def ShowEpisodes(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') sYear = oInputParameterHandler.getValue('sYear') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = "class=.numerando.+?>([^<]+).+?ref='([^']+).>([^<]*)" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): oGui.addText(SITE_IDENTIFIER) if (aResult[0] == True): oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sSaisonEpisode = aEntry[0] sUrl2 = aEntry[1] sDesc2 = aEntry[2] + '\r\n' + sDesc sTitle = sMovieTitle + sSaisonEpisode oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sYear', sYear) oOutputParameterHandler.addParameter('sDesc', sDesc2) oGui.addEpisode(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumb, sDesc2, oOutputParameterHandler) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sYear = oInputParameterHandler.getValue('sYear') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<iframe.*?src=([^\s]+)' aResult = re.findall(sPattern, sHtmlContent) if aResult: sHosterUrl = aResult[0] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sDesc = oInputParameterHandler.getValue('sDesc') oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() sPattern = "class='dooplay_player_option' data-type='([^']+)' data-post='([^']+)' data-nume='([^']+)'" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): url_main = GET_REAL_URLMAIN(sUrl) oOutputParameterHandler = cOutputParameterHandler() for aEntry in aResult[1]: sUrl2 = url_main + 'wp-admin/admin-ajax.php' dType = aEntry[0] dPost = aEntry[1] dNum = aEntry[2] pdata = 'action=doo_player_ajax&post=' + dPost + '&nume=' + dNum + '&type=' + dType sHost = 'Serveur ' + dNum sTitle = ('%s [COLOR coral]%s[/COLOR]') % (sMovieTitle, sHost) oOutputParameterHandler.addParameter('siteUrl', sUrl2) oOutputParameterHandler.addParameter('referer', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oOutputParameterHandler.addParameter('pdata', pdata) oGui.addLink(SITE_IDENTIFIER, 'showLink', sTitle, sThumb, sDesc, oOutputParameterHandler) oGui.setEndOfDirectory()