def getHosterUrlandPlay(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sHoster = oInputParameterHandler.getValue('hosterName') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<div class="hostwrapper">.*?src=([^ ]+) ' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sStreamUrl = aResult[1][0] sStreamUrl = str(sStreamUrl).replace('"', '').replace("'", '') oHoster = cHosterHandler().getHoster(sHoster) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sStreamUrl) oGui.setEndOfDirectory() return oGui.setEndOfDirectory()
def __parseHosterDefault(sUrl, sHosterName, sHosterFileName, sPattern, sSecurityValue, sMovieTitle): if not sPattern: #sPattern = 'div><a href=\\\\"([^"]+)\\\\' sPattern = '<a\shref=\\\\"(.*?)\\\\"' sUrl = sUrl.replace('&', '&') oRequest = cRequestHandler(sUrl) oRequest.addHeaderEntry('Cookie', sSecurityValue) oRequest.addHeaderEntry('Referer', 'http://kinox.to/') sHtmlContent = oRequest.request() oParser = cParser() aMovieParts = oParser.parse(sHtmlContent, sPattern) print("SHTMLCONTENT###########: %s" % sPattern) print("SHTMLCONTENT###########: %s" % sHtmlContent) print("SHTMLCONTENT###########: %s" % aMovieParts[1]) iCounter = 0 oGui = cGui() if (aMovieParts[0] == True): for sPartUrl in aMovieParts[1]: sPartUrl = sPartUrl.replace('\\/', '/') iCounter = iCounter + 1 oHoster = cHosterHandler().getHoster(sHosterFileName) if (sMovieTitle != False): oHoster.setFileName(sMovieTitle) print("PARSEHOSTERDEFAULT: %s" % sHosterFileName) cHosterGui().showHoster(oGui, oHoster, sPartUrl) oGui.setEndOfDirectory()
def getHosterUrlandPlay(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sHoster = oInputParameterHandler.getValue('hosterName') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sTitle = __getMovieTitle(sHtmlContent) sPattern = '<div id="video_actions">.*?<a href="([^"]+)">' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sStreamUrl = aResult[1][0] oHoster = cHosterHandler().getHoster(sHoster) if (sTitle != False): oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sStreamUrl) oGui.setEndOfDirectory() return oGui.setEndOfDirectory()
def mangasHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sHtmlContent = sHtmlContent.replace('http://creative.rev2pub.com','') sPattern = '<a target="vk-filmz" href="(.+?)">(.+?)</a>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry[0]) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sTitle = sMovieTitle+' [COLOR azure]'+aEntry[1]+'[/COLOR]' oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def showTrailerDetails(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() if (oInputParameterHandler.exist('sUrl')): sUrl = oInputParameterHandler.getValue('sUrl') oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() sPattern = '<div class="srTrailerListItem .*?">.*?<a href="([^"]+)">.*?<img src="([^"]+)".+?/>.*?<a.+?>(.*?)<br class' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sTitle = cUtil().removeHtmlTags(aEntry[2], '') sTitle = oParser.replace('[ ]{2,}', ' ', sTitle) oHoster = cHosterHandler().getHoster('kinode') oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) sUrl = URL_MAIN + str(aEntry[0]) cHosterGui().showHoster(oGui, oHoster, sUrl) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<iframe src="(.+?)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) print aResult if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry) #oHoster = __checkHoster(sHosterUrl) oHoster = cHosterGui().checkHoster(sHosterUrl) sDisplayTitle = cUtil().DecoTitle(sMovieTitle) if (oHoster != False): #sMovieTitle=re.sub(r'\[.*\]',r'',sMovieTitle) oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def seriesHosters(): i=0 oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '<iframe.+?src="(.+?)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: i= i+1 sHosterUrl = str(aEntry) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle + 'Episode' + str(i)) oHoster.setFileName(sMovieTitle + 'Episode' + str(i)) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def serieHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sHtmlContent = sHtmlContent.replace('<iframe width="420" height="315" src="https://www.youtube.com/', '') sPattern = '<div class="su-tabs-pane su-clearfix"><iframe src="(.+?)"[^<>]+?><\/iframe><\/div>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): i = 1 for aEntry in aResult[1]: sHosterUrl = str(aEntry) oHoster = cHosterGui().checkHoster(sHosterUrl) sTitle = sMovieTitle + 'episode ' + str(i) sDisplayTitle = cUtil().DecoTitle(sTitle) i = i + 1 if (oHoster != False): oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sHtmlContent = sHtmlContent.replace('http://creative.rev2pub.com','') sPattern = '<iframe.+?src="(.+?)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def showEdu(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<h2 class="row-title">(.+?)<\/h2>.+?<iframe.+?src="([^"]+)".+?<\/iframe>' aResult = oParser.parse(sHtmlContent, sPattern) if not(aResult[0] == True): sPattern = '<iframe title="([^"]+)".+?src="([^"]+)".+?<\/iframe>' #pas de titre 6_8 aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = aEntry[1] if sHosterUrl.startswith('//'): sHosterUrl = 'https:' + sHosterUrl sId = sHosterUrl.rsplit('/', 1)[1] sTitle = aEntry[0] sThumb = 'https://i.ytimg.com/vi/' + sId + '/mqdefault.jpg' oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); # sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src=\'http://creative.rev2pub.com','') oParser = cParser() sPattern = '<iframe .+? src="(.+?)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == False): sPattern = 'data-video_id="(.+?)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry) if len(sHosterUrl) == 11: # URL youtube + id de la vidéo sHosterUrl = 'https://www.youtube.com/embed/' + sHosterUrl oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def serieHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') sPattern = 'href="([^<]+)" target="_blank">.+?</a>' oParser = cParser() aResult = oParser.parse(sUrl, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) if dialog.iscanceled(): break sHosterUrl = str(aEntry) #oHoster = __checkHoster(sHosterUrl) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','') sPattern = '<iframe.+?src=[\'|"](.+?)[\'|"]' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) sHosterUrl = str(aEntry) #oHoster = __checkHoster(sHosterUrl) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def showHosters():# recherche et affiche les hotes oGui = cGui() #ouvre l'affichage oInputParameterHandler = cInputParameterHandler() #apelle l'entree de paramettre sUrl = oInputParameterHandler.getValue('siteUrl') # apelle siteUrl sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') #apelle le titre sThumbnail = oInputParameterHandler.getValue('sThumbnail') # apelle le poster oRequestHandler = cRequestHandler(sUrl) #requete sur l'url sHtmlContent = oRequestHandler.request(); #requete sur l'url sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src=\'http://creative.rev2pub.com','') #supprimer a l'aide de replace toute les entrer qui corresponde a votre recherche mais ne doivent pas etre pris en compte oParser = cParser() sPattern = '<iframe.+?src="(.+?)"' #ici nous cherchont toute les sources iframe aResult = oParser.parse(sHtmlContent, sPattern) #penser a faire un print aResult pour verifier #si un lien ne s'affiche pas peux etre que l'hote n'est pas supporte par l'addon if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry) oHoster = cHosterGui().checkHoster(sHosterUrl) #recherche l'hote dans l'addon if (oHoster != False): oHoster.setDisplayName(sMovieTitle) #nom affiche oHoster.setFileName(sMovieTitle) # idem cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) #affiche le lien (oGui, oHoster, url du lien, poster) oGui.setEndOfDirectory() #fin
def showHosters(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<iframe.+?src="(.+?)".+?<\/iframe>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = aEntry if sHosterUrl.startswith('//'): sHosterUrl = 'https:' + sHosterUrl oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def getHosterUrlandPlay(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sHoster = oInputParameterHandler.getValue('hosterName') sTitle = oInputParameterHandler.getValue('sTitle') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<iframe id="iframe" src="([^"]+)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sStreamUrl = aResult[1][0] oHoster = cHosterHandler().getHoster(sHoster) if (sTitle != False): oHoster.setFileName(sTitle) cHosterGui().showHosterMenuDirect(oGui, oHoster, sStreamUrl) oGui.setEndOfDirectory() return else: sPattern = '<param name="movie" value="([^"]+)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sStreamUrl = aResult[1][0] oHoster = cHosterHandler().getHoster(sHoster) if (sTitle != False): oHoster.setFileName(sTitle) cHosterGui().showHosterMenuDirect(oGui, oHoster, sStreamUrl) oGui.setEndOfDirectory() return oGui.setEndOfDirectory()
def seriesHosters(): #cherche les episode de series oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src=\'http://creative.rev2pub.com','') sPattern = '<dd><a href="([^<]+)" class="zoombox.+?" title="(.+?)"><button class="btn">.+?</button></a></dd>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry[0]) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(aEntry[1]) oHoster.setFileName(aEntry[1]) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def showHostersLink(): #En fait ici, tout leur lien sont sur le meme hebergeur d'ou le lien deja traduit oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') #recuperation urls oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() #fh = open('c:\\test.txt', "w") #fh.write(sHtmlContent) #fh.close() url = re.findall('"file":"(.+?)", "label":"(.+?)",', sHtmlContent) #dialogue final if (url): for aEntry in url: sTitle = '[COLOR teal][' + str(aEntry[1]) + '][/COLOR] ' + sMovieTitle sUrl = aEntry[0] sHosterUrl = str(sUrl) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '') oGui.setEndOfDirectory()
def seriesHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src=\'http://creative.rev2pub.com','').replace('<iframe src=\'http://creative.ad120m.com/', '') sPattern = '<dd><a href="([^<]+)" class="zoombox.+?" title="(.+?)"><button class="btn">.+?</button></a></dd>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) sHosterUrl = str(aEntry[0]) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sTitle=re.sub(r'\[.*\]',r'',aEntry[1]) oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '<br />\s*<a href="([^"]+)">.+?</a>.+?<br />' aResult = oParser.parse(sHtmlContent, sPattern) #VSlog(str(aResult)) 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 __callSearch(sSearchText, iStart): oGui = cGui() oRequest = cRequestHandler(URL_SEARCH) oRequest.addParameters('q', sSearchText) oRequest.addParameters('x', 0) oRequest.addParameters('y', 0) oRequest.addParameters('n', ENTRIES_PER_PAGE) oRequest.addParameters('s', iStart) sHtmlContent = oRequest.request() sPattern = '<div class="smallVideoTeaser"><a href="([^"]+)" title="([^"]+)"><img .+?><img src="([^"]+)".*?/>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: oHoster = cHosterHandler().getHoster('mtv') oHoster.setDisplayName(aEntry[1]) sUrl = URL_MAIN + str(aEntry[0]).strip() cHosterGui().showHoster(oGui, oHoster, sUrl) __createNextButtonForSearch(oGui, iStart, sSearchText, sHtmlContent) oGui.setEndOfDirectory()
def serieHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<a href="([^<]+)" title="([^<]+)" target="seriePlayer" class="ilink sinactive">' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) if dialog.iscanceled(): break sHosterUrl = str(aEntry[0]) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sTitle = aEntry[1] oHoster.setDisplayName(sTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<option.+?value="(.+?)">(.+?)</option>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) if dialog.iscanceled(): break sHosterUrl = str(aEntry[0]) #oHoster = __checkHoster(sHosterUrl) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(aEntry[1]) oHoster.setFileName(aEntry[1]) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def getMovieUrl(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sHosterIdentifier = oInputParameterHandler.getValue('hosterIdentifier') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<br><br><script type="text/javascript" src="([^"]+)"></script><br>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sMovieUrl = aResult[1][0] oRequestHandler = cRequestHandler(sMovieUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<embed src="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sMovieUrl = aResult[1][0] oHoster = cHosterHandler().getHoster(sHosterIdentifier) cHosterGui().showHoster(oGui, oHoster, sMovieUrl) oGui.setEndOfDirectory()
def Display_protected_link(): #xbmc.log('Display_protected_link') oGui = cGui() oInputParameterHandler = cInputParameterHandler() sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sUrl = oInputParameterHandler.getValue('siteUrl') sThumb=oInputParameterHandler.getValue('sThumb') oParser = cParser() #Est ce un lien ushort-links? if 'ushort-links' in sUrl: oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() if sHtmlContent: sPattern = '<a id="download" href="(.+?)"' aResult = oParser.parse(sHtmlContent, sPattern) sHosterUrl = aResult[1][0] #print sHosterUrl sTitle = sMovieTitle oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = cUtil().DecoTitle(sTitle) oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) else: oDialog = cConfig().createDialogOK('Erreur décryptage du lien') aResult_dlprotecte = (False, False) oGui.setEndOfDirectory()
def seriesHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<a id="playerlink.+?" data-src-player="([^<]+)" vid-link=".+?">.+?<img src=".+?/flags/(.+?).png"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = aEntry[0] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle + ' [' + aEntry[1] + ']') oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def seriesHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '<div class="e-number">.+?<iframe src="(.+?)".+?class="episode-id">(.+?)<' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) if dialog.iscanceled(): break sTitle = sMovieTitle + ' ' + str(aEntry[1]) sTitle = cUtil().DecoTitle(sTitle) sHosterUrl = str(aEntry[0]) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sHtmlContent = sHtmlContent.replace('src="http://full-streamvk.com/','') sPattern = '<div class="fstory-video-block" id=".+?">.+?<iframe.+?src=[\'|"](.+?)[\'|"]' oParser = cParser() #print aResult aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) if dialog.iscanceled(): break sHosterUrl = str(aEntry) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = "<h\d+ class='post-title entry-title'>(.*?)<div style='clear: both;'></div>" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = aResult[1][0] sHtmlContent = str(sHtmlContent).lower() sPattern = "src=([^ ]+) " oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry).replace("'", '').replace('"', '') hosterPattern = '([^\.]+)\.(?:com|eu|net|de|ru)?/' aResult = cParser().parse(sHosterUrl, hosterPattern) if aResult[0] == True: hosterId = aResult[1][0] oHoster = cHosterHandler().getHoster2(hosterId) if (oHoster != False): oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl) oGui.setEndOfDirectory()
def serieHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request(); sPattern = '<a href="([^<]+)" title="([^<]+)" target="seriePlayer" class="ilink sinactive">' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = str(aEntry[0]) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sTitle = aEntry[1] oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') #modif url par Gregwar if '?' in sUrl: sUrl += '&r=n' else: sUrl += '?r=n' oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '<video><source type="video/mp4" src="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0]): BA = aResult[1][0] else: BA = False #sPattern = '{file:"([^\"]+?)"' #sPattern = '{file:"([^"]+)",label:"([^"]+)"' sPattern = '<script>function(.+?)</script>' aResult = re.search(sPattern, sHtmlContent) sHtmlContent = aResult.group(1).replace('return de("$")', '') #serie #redirection sur hdstream pour les new videos sPattern = '"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: url = Decode(str(aEntry)) if 'manifest.mpd' in url: continue if '/mp4/' in url: #lien upto,1fich,direct ou inutilisable sId = re.search('\/mp4\/([^-]+)', url) if sId: chaine = sId.group(1) vUrl = base64.b64decode(chaine + "==") #cConfig().log(str(vUrl)) if 't411.li' in vUrl: continue elif 'uptobox' in vUrl: sHosterUrl = vUrl elif '1fichier' in vUrl: sHosterUrl = vUrl else: sHosterUrl = url #cConfig().log(str(sHosterUrl)) else: sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(xbmc.getInfoLabel('ListItem.title')) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '') if (BA != False): sHosterUrl2 = str(BA) oHoster2 = cHosterGui().checkHoster(sHosterUrl2) if (oHoster2 != False): oHoster2.setDisplayName(sMovieTitle + '[COLOR coral]' + (' [Bande Annonce] ') + '[/COLOR]') oHoster2.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster2, sHosterUrl2, '') oGui.setEndOfDirectory()
def showHosters2(): import requests oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) cook = oRequestHandler.GetCookies() oRequestHandler.setRequestType(1) oRequestHandler.addHeaderEntry( 'User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0' ) oRequestHandler.addHeaderEntry('origin', 'www.arblionz.org') oRequestHandler.addHeaderEntry('Cookie', cook) oRequestHandler.addHeaderEntry('X-Requested-With', 'XMLHttpRequest') oRequestHandler.addHeaderEntry( 'Referer', 'https://www.arblionz.org/download/%D9%81%D9%8A%D9%84%D9%85-beyond-the-woods-2020-%D9%85%D8%AA%D8%B1%D8%AC%D9%85-%D8%A7%D9%88%D9%86-%D9%84%D8%A7%D9%8A%D9%86' ) sHtmlContent = oRequestHandler.request() # (.+?) .+? sPattern = "([^<]+)" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = sMovieTitle if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'mystream' in url: sTitle = " (mystream)" if 'streamcherry' in url: sTitle = " (streamcherry)" if 'streamango' in url: sTitle = " (streamango)" if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def getFav(self): oGui = cGui() oInputParameterHandler = cInputParameterHandler() #aParams = oInputParameterHandler.getAllParameter() if (oInputParameterHandler.exist('sCat')): sCat = oInputParameterHandler.getValue('sCat') else: sCat = '5' row = cDb().get_favorite() for data in row: try: title = data[1].encode('utf-8') except: title = data[1] try: siteurl = urllib.unquote_plus(data[2]) site = data[3] function = data[4] cat = data[5] thumbnail = data[6] fanart = data[7] if thumbnail == '': thumbnail = 'False' oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', siteurl) oOutputParameterHandler.addParameter('sMovieTitle', title) oOutputParameterHandler.addParameter('searchtext', title) oOutputParameterHandler.addParameter('sThumbnail', thumbnail) if (function == 'play'): oHoster = cHosterGui().checkHoster(siteurl) oOutputParameterHandler.addParameter( 'sHosterIdentifier', oHoster.getPluginIdentifier()) oOutputParameterHandler.addParameter( 'sFileName', oHoster.getFileName()) oOutputParameterHandler.addParameter('sMediaUrl', siteurl) if (cat == sCat): oGuiElement = cGuiElement() oGuiElement.setSiteName(site) oGuiElement.setFunction(function) oGuiElement.setTitle(title) oGuiElement.setFileName(title) oGuiElement.setIcon("mark.png") if (cat == '1'): cGui.CONTENT = 'movies' oGuiElement.setMeta(cat) oGuiElement.setCat(1) elif (cat == '2'): cGui.CONTENT = 'tvshows' oGuiElement.setMeta(cat) oGuiElement.setCat(2) else: oGuiElement.setMeta(0) oGuiElement.setCat(cat) oGuiElement.setThumbnail(thumbnail) oGuiElement.setFanart(fanart) #self.createContexMenuDelFav(oGuiElement, oOutputParameterHandler) oGui.CreateSimpleMenu(oGuiElement, oOutputParameterHandler, 'cFav', 'cFav', 'delFavouritesMenu', cConfig().getlanguage(30412)) if (function == 'play'): oGui.addHost(oGuiElement, oOutputParameterHandler) else: oGui.addFolder(oGuiElement, oOutputParameterHandler) #oGui.addFav(site, function, title, "mark.png", thumbnail, fanart, oOutputParameterHandler) except: oGui.addDir(SITE_IDENTIFIER, 'DoNothing', '[COLOR red]ERROR[/COLOR]', 'films.png', oOutputParameterHandler) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('sCat', sCat) oGui.addDir(SITE_IDENTIFIER, 'delFavourites', cConfig().getlanguage(30211), 'trash.png', oOutputParameterHandler) oGui.setEndOfDirectory() return
def isHosterGui(sSiteName, sFunction): if (sSiteName == 'cHosterGui'): oHosterGui = cHosterGui() exec "oHosterGui." + sFunction + "()" return True return False
def serieHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oParser = cParser() sPattern = 'href="([^"]+)"' aResult = oParser.parse(sUrl, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sHosterUrl = aEntry #pour récuperer tous les liens if '&url=' in sHosterUrl: sHosterUrl = sHosterUrl.split('&url=')[1] #pour récuperer le lien jwplayer(GoogleDrive) if 'filmhdstream' in sHosterUrl: oRequestHandler = cRequestHandler(sHosterUrl) sHtmlContent = oRequestHandler.request() sPattern = '<iframe.+?src="([^"]+)"' 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) #pour récuperer les liens jheberg elif 'jheberg' in sHosterUrl: aResult = cJheberg().GetUrls(sHosterUrl) if aResult: for aEntry in aResult: sHosterUrl = aEntry oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) else: oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def seriesHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') url = URL_MAIN + 'templates/Animix/js/anime.js' oRequestHandler = cRequestHandler(url) playerContent = oRequestHandler.request() oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() # On récupere l'id associé a l'épisode sPattern = '<option value="buttons_([0-9]+)">([^<]+)</option>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) epNumber = '' sHosterUrl = '' if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break # Streaming sTitle = sMovieTitle + ' ' + aEntry[1] if epNumber != aEntry[1]: epNumber = aEntry[1] oGui.addText(SITE_IDENTIFIER, '[COLOR red]' + epNumber + '[/COLOR]') # On récupere l'info du player sPattern = '<div id="buttons_' + aEntry[0] + '" class="button_box">(.+?)/div></div>' htmlCut = oParser.parse(sHtmlContent, sPattern)[1][0] #sPattern = '<div id="player_([0-9]+)".+?">([^<]+)<' sPattern = '<div id="player_([0-9]+)".+?class="new_player_([^"]+)' data = oParser.parse(htmlCut, sPattern) for aEntry1 in data[1]: sPattern = '<div id="content_player_' + aEntry1[0] + '" class="player_box">([^<]+)</div>' playerData = oParser.parse(sHtmlContent, sPattern)[1][0] if 'http' not in playerData: sPattern = 'player_type.*=="new_player_' + aEntry1[1].lower()+ '"\|.+?(?:src=\\\\")([^"]*).*?player_content.*?"([^\\\\"]*)' aResult2 = oParser.parse(playerContent, sPattern) if aResult2[0] == True: sHosterUrl = aResult2[1][0][0] + playerData + aResult2[1][0][1] if 'http' not in sHosterUrl: sHosterUrl = 'https:' + sHosterUrl else: sHosterUrl = playerData oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) sPattern = '<div class="lien-episode">.+?<b>' + epNumber + '<.+?href="([^"]+).+?<b>([^<]+)<' ddlData = oParser.parse(sHtmlContent, sPattern) for aEntry2 in ddlData[1]: sTitle = sMovieTitle + ' ' + epNumber + ' ' + aEntry2[1] url = aEntry2[0] if 'ouo' in url: oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', url) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addLink(SITE_IDENTIFIER, 'DecryptOuo', sTitle, sThumb, '', oOutputParameterHandler) else: sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def showHosterss(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '{"url":"(.+?)","server_notice"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): m3url = "https:" + aResult[1][0] # ([^<]+) .+? (.+?) oRequestHandler = cRequestHandler(m3url) oRequestHandler.addHeaderEntry( 'User-Agent', 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36' ) oRequestHandler.addHeaderEntry('Referer', 'https://www.okanime.com/') oRequestHandler.addHeaderEntry('Accept-Encoding', 'gzip, deflate, br') oRequestHandler.addHeaderEntry( 'Accept-Language', 'fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7,ar;q=0.6,lb;q=0.5,da;q=0.4') oRequestHandler.addHeaderEntry( 'Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' ) oRequestHandler.addHeaderEntry('Connection', 'keep-alive') sHtmlContent = oRequestHandler.request() sPattern = "src = '(.+?)'" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = "" if url.startswith('https://drive.google.com'): url = url.replace('uc?id=', 'file/d/') if url.startswith('https://drive.google.com'): url = url.replace('&export=download', '/preview') sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() import requests oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') sInfo = oInputParameterHandler.getValue('sInfo') #print sHtmlContent oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() #Recuperation infos sId = '' # (.+?) ([^<]+) .+? sPattern = '{"url":"(.+?)","server_notice"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0]): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break headers = { 'Host': 'www.okanime.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0', 'encoding': 'utf-8', 'Sec-Fetch-Site': 'same-origin', 'Accept-Language': 'fr,fr-FR;q=0.8,en-US;q=0.5,en;q=0.3', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'X-Requested-With': 'XMLHttpRequest', 'Referer': 'https://www.okanime.com/', 'Connection': 'keep-alive' } nume = aEntry.split( '//www.okanime.com/cdn/anti-dmca/embed/?id=')[1] data = {'id': nume} print "numedata" print data s = requests.Session() r = s.post('https://www.okanime.com/cdn/anti-dmca/embed/?id=' + nume, headers=headers, data=data) sHtmlContent += r.content print sHtmlContent sPattern = "src = '(.+?)'" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = sMovieTitle if 'fajer.video' in url: url = url.split('id=')[1] url = "https://fajer.video/hls/" + url + "/" + url + ".playlist.m3u8" if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'ok.ru' in url: sTitle = " (ok.ru)" if 'streamcherry' in url: sTitle = " (streamcherry)" if 'cloudvideo' in url: sTitle = " (cloudvideo)" if 'vcstream' in url: sTitle = " (vcstream)" if 'userscloud' in url: sTitle = " (userscloud)" if 'clicknupload' in url: sTitle = " (clicknupload)" if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showLink(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() # ([^<]+) .+? sPattern = '>([^<]+)</div><h3>([^<]+)</h3>' sPattern = sPattern + '|' + '<a href="([^<]+)"><li.+?>(.+?)</li>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) #print aResult if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sQua = aEntry[1] sSize = aEntry[0] if aEntry[0]: oGui.addText( SITE_IDENTIFIER, '[COLOR yellow]' + sQua + '[/COLOR]' + '[COLOR coral] ' + sSize + ' [/COLOR]') if aEntry[2]: sTitle = "" siteUrl = aEntry[2] sInfo = sMovieTitle sHosterUrl = siteUrl oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) # (.+?) sPattern = ' class="load_player.+?href="([^<]+)">(.+?)</a></li>' aResult = oParser.parse(sHtmlContent, sPattern) #fh = open('c:\\test.txt', "w") #fh.write(sHtmlContent.replace('\n','')) #fh.close() #print aResult if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sTitle = aEntry[1] siteUrl = URL_MAIN + aEntry[0] sInfo = " " #print sUrl oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', siteUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumbnail', sThumbnail) oGui.addTV(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumbnail, sInfo, oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') if 'forum-tv' in sUrl: dialog().VSinfo('Décodage en cours', "Patientez", 5) s = requests.Session() response = s.get(sUrl, headers={'User-Agent': UA}) sHtmlContent = str(response.content) cookie_string = "; ".join( [str(x) + "=" + str(y) for x, y in s.cookies.items()]) oParser = cParser() sPattern = '<input type="hidden".+?value="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): data = "_method=" + aResult[1][0] + "&_csrfToken=" + aResult[1][ 1] + "&ad_form_data=" + Quote( aResult[1][2]) + "&_Token%5Bfields%5D=" + Quote( aResult[1][3]) + "&_Token%5Bunlocked%5D=" + Quote( aResult[1][4]) #Obligatoire pour validé les cookies. xbmc.sleep(6000) oRequestHandler = cRequestHandler( "https://forum-tv.org/adslinkme/links/go") oRequestHandler.setRequestType(1) oRequestHandler.addHeaderEntry('Referer', sUrl) oRequestHandler.addHeaderEntry( 'Accept', 'application/json, text/javascript, */*; q=0.01') oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Content-Length', len(data)) oRequestHandler.addHeaderEntry( 'Content-Type', "application/x-www-form-urlencoded; charset=UTF-8") oRequestHandler.addHeaderEntry('X-Requested-With', 'XMLHttpRequest') oRequestHandler.addHeaderEntry('Cookie', cookie_string) oRequestHandler.addParametersLine(data) sHtmlContent = oRequestHandler.request() sPattern = 'url":"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHosterUrl = aResult[1][0] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) else: sHosterUrl = sUrl 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() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') #recherche des liens de streaming oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '<iframe.+?src="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) oGui.addText(SITE_IDENTIFIER, '[COLOR red]' + 'Liens Streaming :' + '[/COLOR]') for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) #print aEntry if dialog.iscanceled(): break sHosterUrl = str(aEntry) sHosterUrl = sHosterUrl.replace('//ok.ru', 'https://ok.ru') oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '') #recherche des liens de telechargement sUrl = sUrl + '#example' sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '<div id="download-quality-([^"]+)">.+?<span class="download-filesize">([^<]+)</span>|<a class="download-torrent leta-[^"]+" target="_blank" href="([^"]+)" rel="external noopener noreferrer">([^>]+)</a>' aResult = oParser.parse(sHtmlContent, sPattern) print aResult if (aResult[0] == True): total = len(aResult[1]) dialog = cConfig().createDialog(SITE_NAME) oGui.addText(SITE_IDENTIFIER, '[COLOR red]' + 'Liens Download :' + '[/COLOR]') for aEntry in aResult[1]: cConfig().updateDialog(dialog, total) #print aEntry if dialog.iscanceled(): break if aEntry[0]: #affichage format et taille du fichier oGui.addText( SITE_IDENTIFIER, '[COLOR olive]' + str(aEntry[0]) + ' (' + str(aEntry[1]) + ')' + '[/COLOR]') else: sDisplayTitle = aEntry[3] oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', aEntry[2]) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumb', sThumb) oGui.addMovie(SITE_IDENTIFIER, 'Display_protected_link', sDisplayTitle, '', sThumb, '', oOutputParameterHandler) cConfig().finishDialog(dialog) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<span style="color: #ff990.+?>([^<]+)<|large button.+?href="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) 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: #nettoyage du titre sMovieTitle = re.sub('\[\w+ \w+]', '', sMovieTitle) sMovieTitle = re.sub('\[\w+]', '', sMovieTitle) sHosterUrl = aEntry[1] #pour récuperer tous les liens if '&url=' in sHosterUrl: sHosterUrl = sHosterUrl.split('&url=')[1] #pour récuperer le lien jwplayer(GoogleDrive) if 'filmhdstream' in sHosterUrl: oRequestHandler = cRequestHandler(sHosterUrl) sHtmlContent = oRequestHandler.request() sPattern = '<iframe.+?src="([^"]+)"' 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) #pour récuperer les liens jheberg elif 'jheberg' in sHosterUrl: aResult = cJheberg().GetUrls(sHosterUrl) if aResult: for aEntry in aResult: sHosterUrl = aEntry oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) else: oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() # (.+?) .+? ([^<]+) sPattern = 'src="([^<]+)" frameborder' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) #print aResult if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = sMovieTitle sTitle = '[COLOR yellow]' + sTitle + '[/COLOR]' if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'streamcherry' in url: sTitle = " (streamcherry)" if url.startswith('//'): url = 'https:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) # (.+?) .+? ([^<]+) sPattern = '<script src="(.+?)">' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) #print aResult if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = sMovieTitle sTitle = '[COLOR yellow]' + sTitle + '[/COLOR]' if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'streamcherry' in url: sTitle = " (streamcherry)" if url.startswith('//'): url = 'https:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) # (.+?) .+? sPattern = '<a href="([^<]+)"><i class="fa fa-video-camera"></i>(.+?)</a></li>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) #fh = open('c:\\test.txt', "w") #fh.write(sHtmlContent.replace('\n','')) #fh.close() #print aResult if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sTitle = str(aEntry[1]) siteUrl = aEntry[0] sThumbnail = str(sThumbnail) sInfo = "" #print sUrl oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', siteUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter('sThumbnail', sThumbnail) oGui.addMovie(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumbnail, sInfo, oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showHosterGui(sFunction): from resources.lib.gui.hoster import cHosterGui oHosterGui = cHosterGui() function = getattr(oHosterGui, sFunction) function() return True
def ShowPapyLink(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oParser = cParser() if 'papystreaming' in sUrl: oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sHtmlContent = sHtmlContent.replace('http://www.film-streaming.mmfilmes.com/embed2.php?f=','') sPattern = '<iframe.+?src="(http.+?)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): if 'mmfilmes' in aResult[1][0]: sDisplayTitle = sMovieTitle + ' [COLOR skyblue]PapyLink[/COLOR]' oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', aResult[1][0]) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumbnail', sThumbnail) oGui.addMisc(SITE_IDENTIFIER, 'ShowPapyLink', sDisplayTitle, 'films.png', sThumbnail, '', oOutputParameterHandler) else: sHosterUrl = aResult[1][0] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = cUtil().DecoTitle(sMovieTitle) oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) elif 'belike.pw' in sUrl: oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() sPattern = 'file: *"([^"]+)",label:"(\d+p)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = aEntry[0] sLabel = aEntry[1] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = cUtil().DecoTitle(sMovieTitle + '[' + sLabel + ']') oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) else: data = sUrl.replace('http://www.film-streaming.mmfilmes.com/embed.php?f=','').replace('&c=','') pdata = 'data=' + urllib.quote_plus(data) UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0' oRequest = cRequestHandler('http://www.film-streaming.mmfilmes.com/Files/Loader.php') oRequest.setRequestType(1) oRequest.addHeaderEntry('User-Agent',UA) oRequest.addHeaderEntry('Host','www.film-streaming.mmfilmes.com') oRequest.addHeaderEntry('Referer',sUrl) 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() sHtmlContent = sHtmlContent.replace('\\','') sPattern = '\[(.+?)\]' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): listurl = aResult[1][0].replace('"','').split(',http') listqual = aResult[1][1].replace('"','').split(',') tab = zip(listurl,listqual) for url,qual in tab: sHosterUrl = url if not sHosterUrl.startswith('http'): sHosterUrl = 'http' + sHosterUrl oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = '[' + qual + '] ' + sMovieTitle sDisplayTitle = cUtil().DecoTitle(sDisplayTitle) oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) else: oGui.addText(SITE_IDENTIFIER, '[COLOR red]Lien video HS[/COLOR]') oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') sType = oInputParameterHandler.getValue('sType') idHeb = oInputParameterHandler.getValue('idHeb') #film if (oInputParameterHandler.exist('idMov')): idMov = oInputParameterHandler.getValue('idMov') pdata = 'id=' + idHeb + '&id_movie=' + idMov + '&type=' + sType pUrl = URL_MAIN + 'v2/video.php' else: #serie pas d'idmov pdata = 'id=' + idHeb + '&type=' + sType pUrl = URL_MAIN + 'v2/video.php' oRequest = cRequestHandler(pUrl) oRequest.setRequestType(1) oRequest.addHeaderEntry('Referer', sUrl) oRequest.addParametersLine(pdata) sHtmlContent = oRequest.request() sHtmlContent = sHtmlContent.replace('\\', '') sPattern = '<iframe.+?src="([^"]+)".+?"qualite":"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = aEntry[0] if sHosterUrl.startswith('//'): sHosterUrl = 'http:' + sHosterUrl sQual = aEntry[1] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = ('%s [%s]') % (sMovieTitle, sQual) oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) else: #au cas ou pas de qualité sPattern = '<iframe.+?src="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: sHosterUrl = aEntry if sHosterUrl.startswith('//'): sHosterUrl = 'http:' + sHosterUrl oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def Display_protected_link(): #xbmc.log('Display_protected_link') oGui = cGui() oInputParameterHandler = cInputParameterHandler() sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sUrl = oInputParameterHandler.getValue('siteUrl') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oParser = cParser() #cConfig().log(sUrl) #Ne marche pas if (False): code = { '123455600123455602123455610123455615': 'http://uptobox.com/', '1234556001234556071234556111234556153': 'http://turbobit.net/', '123455600123455605123455615': 'http://ul.to/', '123455600123455608123455610123455615': 'http://nitroflare.com/', '123455601123455603123455610123455615123455617': 'https://1fichier.com/?', '123455600123455606123455611123455615': 'http://rapidgator.net/' } for k in code: match = re.search(k + '(.+)$', sUrl) if match: sHosterUrl = code[k] + match.group(1) sHosterUrl = sHosterUrl.replace('123455615', '/') oHoster = cHosterGui().checkHoster(sHosterUrl) sTitle = sMovieTitle if (oHoster != False): sDisplayTitle = cUtil().DecoTitle(sTitle) oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory() return #Est ce un lien dl-protect ? if URL_DECRYPT in sUrl: sHtmlContent = DecryptDlProtecte(sUrl) if sHtmlContent: #Si redirection if sHtmlContent.startswith('http'): aResult_dlprotecte = (True, [sHtmlContent]) else: sPattern_dlprotecte = '<div class="lienet"><a href="(.+?)">' aResult_dlprotecte = oParser.parse(sHtmlContent, sPattern_dlprotecte) else: oDialog = cConfig().createDialogOK('Erreur décryptage du lien') aResult_dlprotecte = (False, False) #Si lien normal else: if not sUrl.startswith('http'): sUrl = 'http://' + sUrl aResult_dlprotecte = (True, [sUrl]) #print aResult_dlprotecte if (aResult_dlprotecte[0]): episode = 1 for aEntry in aResult_dlprotecte[1]: sHosterUrl = aEntry #print sHosterUrl sTitle = sMovieTitle if len(aResult_dlprotecte[1]) > 1: sTitle = sMovieTitle + ' episode ' + str(episode) sDisplayTitle = cUtil().DecoTitle(sTitle) episode += 1 if not 'uptobox' or '1fichier' or 'ul' or 'turbobit' or 'nitroflare' or 'rapidgator' in str( sHosterUrl): oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', str(sHosterUrl)) oOutputParameterHandler.addParameter('sMovieTitle', str(sDisplayTitle)) oOutputParameterHandler.addParameter('sThumbnail', str(sThumbnail)) oGui.addMovie(SITE_IDENTIFIER, 'showStreamingHosters', sDisplayTitle, '', sThumbnail, '', oOutputParameterHandler) else: oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def showFile(sSearch=''): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') # VSlog('input ' + str(sUrl)) oParser = cParser() sOffset = 0 if (oInputParameterHandler.exist('sOffset')): sOffset = int(oInputParameterHandler.getValue('sOffset')) sNext = 0 if (oInputParameterHandler.exist('sNext')): sNext = int(oInputParameterHandler.getValue('sNext')) sToken = '' if (oInputParameterHandler.exist('sToken')): sToken = oInputParameterHandler.getValue('sToken') sFoldername = '' if (oInputParameterHandler.exist('sFoldername')): sFoldername = oInputParameterHandler.getValue('sFoldername') sUrl = sUrl + Quote(sFoldername).replace('//', '%2F%2F') # VSlog('folder ' + str(sUrl)) sPath = '' if (oInputParameterHandler.exist('sPath')): sPath = oInputParameterHandler.getValue('sPath') sUrl = sUrl + Quote(sPath).replace('//', '%2F%2F') # VSlog('sPath ' + str(sUrl)) oPremiumHandler = cPremiumHandler('uptobox') if 'uptobox.com' in sUrl: sHtmlContent = oPremiumHandler.GetHtml(sUrl) else: if sToken == '': sHtmlContent = oPremiumHandler.GetHtml(BURL) sPattern = 'token":"(.+?)",' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sToken = aResult[1][0] if sSearch: sHtmlContent = oPremiumHandler.GetHtml( API_URL.replace('none', sToken) + '%2F%2F' + sSearch) else: sHtmlContent = oPremiumHandler.GetHtml( API_URL.replace('none', sToken) + '%2F%2F') content = json.loads(sHtmlContent) content = content['data'] if content: total = len(content) progress_ = progress().VScreate(SITE_NAME) sPath = getpath(content) for x in content: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break if x == 'files': for y in content[x]: if xbmc.getInfoLabel('system.buildversion')[0:2] >= '19': sTitle = y['file_name'] else: sTitle = y['file_name'].encode('utf-8') sHosterUrl = URL_MAIN + y['file_code'] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '') sNext += 1 if x == 'folders': for z in content[x]: if xbmc.getInfoLabel('system.buildversion')[0:2] >= '19': sTitle = z['name'] sFoldername = z['fld_name'] else: sTitle = z['name'].encode('utf-8') sFoldername = z['fld_name'].encode('utf-8') sUrl = API_URL.replace('none', sToken) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', sUrl) oOutputParameterHandler.addParameter('sMovieTitle', sTitle) oOutputParameterHandler.addParameter( 'sFoldername', sFoldername) oOutputParameterHandler.addParameter('sToken', sToken) oGui.addDir(SITE_IDENTIFIER, 'showFile', sTitle, 'genres.png', oOutputParameterHandler) if x == 'currentFolder': if content[x]['fileCount'] != int(sNext): oOutputParameterHandler = cOutputParameterHandler() sOffset = int(sOffset) + 100 oOutputParameterHandler.addParameter( 'siteUrl', API_URL.replace('none', sToken).replace( 'offset=0', 'offset=' + str(sOffset))) oOutputParameterHandler.addParameter('sToken', sToken) oOutputParameterHandler.addParameter('sNext', sNext) oOutputParameterHandler.addParameter('sOffset', sOffset) oOutputParameterHandler.addParameter('sPath', sPath) oGui.addNext(SITE_IDENTIFIER, 'showFile', 'Suite', oOutputParameterHandler) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showHosters(): oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = 'src="(http:\/\/media\.vimple\.me.+?)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sUrl2 = aResult[1][0] oRequestHandler = cRequestHandler(sUrl2) oRequestHandler.addHeaderEntry( 'User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0' ) oRequestHandler.addHeaderEntry('Referer', sUrl) sHtmlContent = oRequestHandler.request() sPattern = '<source.+?src="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): cGui().showInfo('Info', 'Chargement film', 5) web_url = 'http://media.vimple.me/playerk.swf/' + aResult[1][0] sHosterUrl = web_url oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setTitle(sMovieTitle) oGuiElement.setMediaUrl(sHosterUrl) oGuiElement.setThumbnail(sThumbnail) oPlayer = cPlayer() oPlayer.clearPlayList() oPlayer.addItemToPlaylist(oGuiElement) oPlayer.startPlayer() else: oGui = cGui() sHtmlContent = oParser.abParse(sHtmlContent, "<script>", "</script><script>") sPattern = 'eval\s*\(\s*function(?:.|\s)+?{}\)\)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sHtmlContent = sHtmlContent.replace('\\', '') code = re.search('(https://openload.+?embed\/.+?\/)', sHtmlContent) if code: sHosterUrl = code.group(1) oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, '') oGui.setEndOfDirectory()
def parseUrl(): params = ParameterHandler() logger.info(params.getAllParameters()) # If no function is set, we set it to the default "load" function if params.exist('function'): sFunction = params.getValue('function') if sFunction == 'spacer': return True elif sFunction == 'clearCache': from resources.lib.handler.requestHandler import cRequestHandler cRequestHandler('dummy').clearCache() return elif sFunction == 'changeWatched': changeWatched(params) return elif sFunction == 'updateMeta': updateMeta(params) return elif sFunction == 'searchAlter': searchAlter(params) return elif sFunction == 'updateXstream': from resources.lib import updateManager updateManager.xStreamUpdate() return elif sFunction == 'updateUrlResolver': from resources.lib import updateManager updateManager.urlResolverUpdate() return else: sFunction = 'load' # Test if we should run a function on a special site if not params.exist('site'): xbmc.executebuiltin('XBMC.RunPlugin(%s?function=clearCache)' % sys.argv[0]) if cConfig().getSetting('githubUpdateXstream') == 'true': xbmc.executebuiltin('XBMC.RunPlugin(%s?function=updateXstream)' % sys.argv[0]) if cConfig().getSetting('githubUpdateUrlResolver') == 'true': xbmc.executebuiltin( 'XBMC.RunPlugin(%s?function=updateUrlResolver)' % sys.argv[0]) # As a default if no site was specified, we run the default starting gui with all plugins showMainMenu(sFunction) return sSiteName = params.getValue('site') if params.exist('playMode'): from resources.lib.gui.hoster import cHosterGui url = False playMode = params.getValue('playMode') isHoster = params.getValue('isHoster') url = params.getValue('url') manual = params.exist('manual') if cConfig().getSetting( 'hosterSelect' ) == 'Auto' and playMode != 'jd' and playMode != 'pyload' and not manual: cHosterGui().streamAuto(playMode, sSiteName, sFunction) else: cHosterGui().stream(playMode, sSiteName, sFunction, url) return logger.info("Call function '%s' from '%s'" % (sFunction, sSiteName)) # If the hoster gui is called, run the function on it and return if sSiteName == 'cHosterGui': showHosterGui(sFunction) # If global search is called elif sSiteName == 'globalSearch': searchGlobal() elif sSiteName == 'favGui': showFavGui(sFunction) # If addon settings are called elif sSiteName == 'xStream': oGui = cGui() oGui.openSettings() oGui.updateDirectory() # If the urlresolver settings are called elif sSiteName == 'urlresolver': import urlresolver urlresolver.display_settings() # If metahandler settings are called elif sSiteName == 'metahandler': import metahandler metahandler.display_settings() elif sSiteName == 'settings': oGui = cGui() for folder in settingsGuiElements(): oGui.addFolder(folder) oGui.setEndOfDirectory() else: # Else load any other site as plugin and run the function plugin = __import__(sSiteName, globals(), locals()) function = getattr(plugin, sFunction) function()
def showHosters(sLoop=False): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() # Réécriture de sHtmlContent pour récuperer la qualité sHtmlContent = sHtmlContent.replace( '<span style="color: #ff9900;"><strong>', '<strong><span style="color: #ff9900;">') oParser = cParser() sPattern = '<strong><span style="color: #ff9900;">([^<]+)<|<a class="large button.+?" href="([^<>"]+?)" target="(?:_blank|vid)"' aResult = oParser.parse(sHtmlContent, sPattern) # Si il y a rien a afficher c'est peut etre une serie if (len(aResult) == 0) and (sLoop == False): # oGui.setEndOfDirectory() showSeries(True) return if (aResult[0] == True): for aEntry in aResult[1]: if aEntry[0]: oGui.addText(SITE_IDENTIFIER, '[COLOR red]' + aEntry[0] + '[/COLOR]') else: sHosterUrl = aEntry[1] # pour récuperer tous les liens if '&url=' in sHosterUrl: sHosterUrl = sHosterUrl.split('&url=')[1] # pour récuperer le lien jwplayer(GoogleDrive) if 'filmhdstream' in sHosterUrl: oRequestHandler = cRequestHandler(sHosterUrl) sHtmlContent = oRequestHandler.request() sPattern = '<iframe.+?src="([^"]+)"' 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) # pour récuperer les liens jheberg elif 'jheberg' in sHosterUrl: aResult = cJheberg().GetUrls(sHosterUrl) if aResult: for aEntry in aResult: sHosterUrl = aEntry oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster( oGui, oHoster, sHosterUrl, sThumb) else: oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def showLink(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() #Recuperation infos sNote = '' sPattern = '<h3 class="single-titles">قصة الفيلم : </h3><p>([^<]+)</p></div>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0]): sNote = aResult[1][0] # (.+?) ([^<]+) .+? sPattern = 'onclick="player_iframe.location.href = ([^<]+)"><a href="javascript:;"><i class="fa fa-play-circle"></i>([^<]+)</a></li' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) #fh = open('c:\\test.txt', "w") #fh.write(sHtmlContent.replace('\n','')) #fh.close() #print aResult if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break sTitle = aEntry[1].replace("’", "'") siteUrl = aEntry[0].replace("'", "") oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', siteUrl) oOutputParameterHandler.addParameter('sMovieTitle', sMovieTitle) oOutputParameterHandler.addParameter('sThumbnail', sThumbnail) oGui.addTV(SITE_IDENTIFIER, 'showHosters', sTitle, '', sThumbnail, sNote, oOutputParameterHandler) progress_.VSclose(progress_) # (.+?) sPattern = '<li class="active" onclick="player_iframe.location.href = ([^<]+)"><a' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry).replace("'", "") sTitle = "" if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'mystream' in url: sTitle = " (mystream)" if 'streamcherry' in url: sTitle = " (streamcherry)" if 'streamango' in url: sTitle = " (streamango)" if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() #(.+?) sPattern = 'name="iframe" src="(.+?)" frameborde' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = " " if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'mystream' in url: sTitle = " (mystream)" if 'streamcherry' in url: sTitle = " (streamcherry)" if 'streamango' in url: sTitle = " (streamango)" if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sMovieTitle + sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) sPattern = 'file: "(.+?)",type: "hls",' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = " " if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'mystream' in url: sTitle = " (mystream)" if 'streamcherry' in url: sTitle = " (streamcherry)" if 'streamango' in url: sTitle = " (streamango)" if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sMovieTitle + sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) sPattern = 'file: "(.+?)",.+?"type": "hls",' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = " " if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'mystream' in url: sTitle = " (mystream)" if 'streamcherry' in url: sTitle = " (streamcherry)" if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sMovieTitle + sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) sPattern = '<a href="(.+?)" class="download-btn" ' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = " " if 'thevideo.me' in url: sTitle = " (thevideo.me)" if 'flashx' in url: sTitle = " (flashx)" if 'mystream' in url: sTitle = " (mystream)" if 'streamcherry' in url: sTitle = " (streamcherry)" if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = sMovieTitle + sTitle oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) oGui.setEndOfDirectory()
def showHosters(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') #vimple redirect to ok or openload oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = 'url=([^"]+)' 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) # # # Ancient code du site .xyz # si retour en arriere # # # sPattern = '<iframe.+?src="(http(?:|s):\/\/media\.vimple\.me.+?f=([^"]+))"' # aResult = oParser.parse(sHtmlContent, sPattern) # if (aResult[0] == True): # sUrl2 = aResult[1][0][0] # # oRequestHandler = cRequestHandler(sUrl2) # oRequestHandler.addHeaderEntry('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:61.0) Gecko/20100101 Firefox/61.0') # oRequestHandler.addHeaderEntry('Referer', sUrl) # sHtmlContent = oRequestHandler.request() # # sPattern = '<iframe src="([^"]+)"' # aResult = oParser.parse(sHtmlContent, sPattern) # # if (aResult[0] == True): # sHosterUrl = 'https:' + aResult[1][0] # #VSlog(sHosterUrl) # oHoster = cHosterGui().checkHoster(sHosterUrl) # if (oHoster != False): # oHoster.setDisplayName(sMovieTitle) # oHoster.setFileName(sMovieTitle) # cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) # else: # sHtmlContent = oParser.abParse(sHtmlContent, "<script>", "</script><script>") # # sPattern = 'eval\s*\(\s*function(?:.|\s)+?{}\)\)' # aResult = oParser.parse(sHtmlContent, sPattern) # if (aResult[0] == True): # sHtmlContent = cPacker().unpack(aResult[1][0]) # sHtmlContent = sHtmlContent.replace('\\', '') # #VSlog(sHtmlContent) # code = re.search('(https://openload.+?embed\/.+?\/)', sHtmlContent) # if code: # sHosterUrl = code.group(1) # #VSlog(sHosterUrl) # oHoster = cHosterGui().checkHoster(sHosterUrl) # if (oHoster != False): # oHoster.setDisplayName(sMovieTitle) # oHoster.setFileName(sMovieTitle) # cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def getFav(self): oGui = cGui() oInputParameterHandler = cInputParameterHandler() row = cDb().get_bookmark() if (oInputParameterHandler.exist('sCat')): sCat = oInputParameterHandler.getValue('sCat') gen = (x for x in row if x[5] in sCat) else: sCat = '5' gen = (x for x in row if x[5] not in ('1', '2', '6')) for data in gen: try: title = data[1].encode('utf-8') except: title = data[1] try: thumbnail = data[6].encode('utf-8') except: thumbnail = data[6] try: try: siteurl = data[2].encode('utf-8') except: siteurl = data[2] if xbmc.getInfoLabel('system.buildversion')[0:2] >= '19': siteurl = UnquotePlus(siteurl.decode('utf-8')) title = str(title,'utf-8') else: siteurl = UnquotePlus(siteurl) site = data[3] function = data[4] cat = data[5] fanart = data[7] if thumbnail == '': thumbnail = 'False' oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', siteurl) oOutputParameterHandler.addParameter('sMovieTitle', title) oOutputParameterHandler.addParameter('searchtext', title) oOutputParameterHandler.addParameter('sThumbnail', thumbnail) # Dans ajouter source c'est bien sThumb donc... oOutputParameterHandler.addParameter('sThumb', thumbnail) if (function == 'play'): oHoster = cHosterGui().checkHoster(siteurl) oOutputParameterHandler.addParameter('sHosterIdentifier', oHoster.getPluginIdentifier()) oOutputParameterHandler.addParameter('sFileName', oHoster.getFileName()) oOutputParameterHandler.addParameter('sMediaUrl', siteurl) oGuiElement = cGuiElement() oGuiElement.setSiteName(site) oGuiElement.setFunction(function) oGuiElement.setTitle(title) oGuiElement.setFileName(title) oGuiElement.setIcon("mark.png") if (cat == '1'): cGui.CONTENT = 'movies' oGuiElement.setMeta(cat) oGuiElement.setCat(1) elif (cat == '2'): cGui.CONTENT = 'tvshows' oGuiElement.setMeta(cat) oGuiElement.setCat(2) else: oGuiElement.setMeta(0) oGuiElement.setCat(cat) oGuiElement.setThumbnail(thumbnail) oGuiElement.setFanart(fanart) oGuiElement.addItemProperties('isBookmark', True) oGui.CreateSimpleMenu(oGuiElement,oOutputParameterHandler, 'cFav', 'cFav', 'delBookmark', self.ADDON.VSlang(30412)) if (function == 'play'): oGui.addHost(oGuiElement, oOutputParameterHandler) else: oGui.addFolder(oGuiElement, oOutputParameterHandler) except: oGui.addDir(SITE_IDENTIFIER, 'DoNothing', '[COLOR red]ERROR[/COLOR]', 'films.png', oOutputParameterHandler) # La suppression n'est pas accessible lors de l'utilisation en Widget if not xbmc.getCondVisibility('Window.IsActive(home)'): oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('sCat', sCat) oGui.addDir(SITE_IDENTIFIER, 'delBookmark', self.ADDON.VSlang(30211), 'trash.png', oOutputParameterHandler) oGui.setEndOfDirectory() return
def showHosters(): oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') VSlog(sUrl) oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() if 'AdF' in sHtmlContent: sUrl = AdflyDecoder(sUrl) if 'motheregarded' in sUrl: sPattern = 'href=(.+?)&dp_lp' aResult = oParser.parse(sUrl, sPattern) if (aResult[0] == True): sUrl = urllib.unquote(''.join(aResult[1])).decode('utf8') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() #fh = open('c:\\test.txt', "w") #fh.write(sHtmlContent.replace('\n', '')) #fh.close() sPattern = '<b><a href=".+?redirect\/\?url\=(.+?)\&id.+?">' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True) or 'gounlimited' or 'jheberg' or 'multiup' in sUrl: if (aResult[0] == True): sUrl = cUtil().urlDecode(aResult[1][0]) VSlog(sUrl) if 'gounlimited' in sUrl: oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() 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 = '{sources:\["([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHosterUrl = aResult[1][0] oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) elif 'jheberg' in sUrl: aResult = cJheberg().GetUrls(sUrl) if (aResult): for aEntry in aResult: sHosterUrl = aEntry oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) elif 'multiup' in sUrl: aResult = cMultiup().GetUrls(sUrl) if (aResult): for aEntry in aResult: sHosterUrl = aEntry oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) else: sHosterUrl = sUrl oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def Display_protected_link(): oGui = cGui() oInputParameterHandler = cInputParameterHandler() sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sUrl = oInputParameterHandler.getValue('siteUrl') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oParser = cParser() sUrl = sUrl.replace(URL_PROTECT, URL_PROTECT + '/other?id=') #print sUrl #xbmc.log(sUrl) #Est ce un lien dl-protect ? if URL_PROTECT in sUrl: sHtmlContent = DecryptddlProtect(sUrl) #print sHtmlContent if sHtmlContent: #Si redirection if sHtmlContent.startswith('http'): aResult_dlprotect = (True, [sHtmlContent]) else: sPattern_dlprotect = 'Lien :</b></td><td><a href="(.+?)"' aResult_dlprotect = oParser.parse(sHtmlContent, sPattern_dlprotect) else: oDialog = cConfig().createDialogOK( 'Desole, probleme de captcha.\n Veuillez en rentrer un directement sur le site, le temps de reparer' ) aResult_dlprotect = (False, False) #Si lien normal else: if not sUrl.startswith('http'): sUrl = 'http://' + sUrl aResult_dlprotect = (True, [sUrl]) #print aResult_dlprotect if (aResult_dlprotect[0]): episode = 1 for aEntry in aResult_dlprotect[1]: sHosterUrl = aEntry #print sHosterUrl sTitle = sMovieTitle if len(aResult_dlprotect[1]) > 1: sTitle = sMovieTitle + ' episode ' + str(episode) episode += 1 oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): sDisplayTitle = cUtil().DecoTitle(sTitle) oHoster.setDisplayName(sDisplayTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) oGui.setEndOfDirectory()
def Display_protected_link(): # VSlog('Display_protected_link') oGui = cGui() oParser = cParser() oInputParameterHandler = cInputParameterHandler() sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') baseUrl = oInputParameterHandler.getValue('baseUrl') sUrl = oInputParameterHandler.getValue('siteUrl') sThumb = oInputParameterHandler.getValue('sThumb') #Ne marche pas if (False): code = { '123455600123455602123455610123455615': 'http://uptobox.com/', '1234556001234556071234556111234556153': 'http://turbobit.net/', '123455600123455605123455615': 'http://ul.to/', '123455600123455608123455610123455615': 'http://nitroflare.com/', '123455601123455603123455610123455615123455617': 'https://1fichier.com/?', '123455600123455606123455611123455615': 'http://rapidgator.net/' } for k in code: match = re.search(k + '(.+)$', sUrl) if match: sHosterUrl = code[k] + match.group(1) sHosterUrl = sHosterUrl.replace('123455615', '/') oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory() return #Est ce un lien dl-protect ? if sUrl: sHtmlContent = DecryptDlProtecte(sUrl) if sHtmlContent: #Si redirection if sHtmlContent.startswith('http'): aResult_dlprotecte = (True, [sHtmlContent]) else: sPattern_dlprotecte = '<div class="alert alert-primary".+?\s*<a href="(.+?)">' aResult_dlprotecte = oParser.parse(sHtmlContent, sPattern_dlprotecte) else: oDialog = dialog().VSok('Erreur décryptage du lien') aResult_dlprotecte = (False, False) #Si lien normal else: if not sUrl.startswith('http'): sUrl = 'http://' + sUrl aResult_dlprotecte = (True, [sUrl]) if (aResult_dlprotecte[0]): episode = 1 for aEntry in aResult_dlprotecte[1]: sHosterUrl = aEntry sTitle = sMovieTitle if len(aResult_dlprotecte[1]) > 1: sTitle = sMovieTitle + ' episode ' + episode episode+= 1 oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumb) oGui.setEndOfDirectory()
def DecryptOuo(): from resources.lib.recaptcha import ResolveCaptcha oGui = cGui() oInputParameterHandler = cInputParameterHandler() urlOuo = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumb = oInputParameterHandler.getValue('sThumb') if '/fbc/' not in urlOuo: urlOuo = urlOuo.replace('io/', 'io/fbc/').replace('press/', 'press/fbc/') oRequestHandler = cRequestHandler(urlOuo) sHtmlContent = oRequestHandler.request() Cookie = oRequestHandler.GetCookies() key = re.search('sitekey: "([^"]+)', str(sHtmlContent)).group(1) OuoToken = re.search('<input name="_token" type="hidden" value="([^"]+).+?id="v-token" name="v-token" type="hidden" value="([^"]+)', str(sHtmlContent), re.MULTILINE | re.DOTALL) gToken = ResolveCaptcha(key, urlOuo) url = urlOuo.replace('/fbc/', '/go/') params = '_token=' + OuoToken.group(1) + '&g-recaptcha-response=' + gToken + '&v-token=' + OuoToken.group(2) oRequestHandler = cRequestHandler(url) oRequestHandler.setRequestType(1) oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') oRequestHandler.addHeaderEntry('Accept-Language', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') oRequestHandler.addHeaderEntry('Accept-Encoding', 'gzip, deflate') oRequestHandler.addHeaderEntry('Referer', urlOuo) oRequestHandler.addHeaderEntry('Content-Type', 'application/x-www-form-urlencoded') oRequestHandler.addHeaderEntry('Content-Length', str(len(params))) oRequestHandler.addHeaderEntry('Cookie', Cookie) oRequestHandler.addParametersLine(params) sHtmlContent = oRequestHandler.request() final = re.search('<form method="POST" action="(.+?)" accept-charset=.+?<input name="_token" type="hidden" value="(.+?)">', str(sHtmlContent)) url = final.group(1) params = '_token=' + final.group(2) + '&x-token=' + '' oRequestHandler = cRequestHandler(url) oRequestHandler.setRequestType(1) oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') oRequestHandler.addHeaderEntry('Accept-Language', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8') oRequestHandler.addHeaderEntry('Accept-Encoding', 'gzip, deflate') oRequestHandler.addHeaderEntry('Referer', urlOuo) oRequestHandler.addHeaderEntry('Content-Type', 'application/x-www-form-urlencoded') oRequestHandler.addHeaderEntry('Content-Length', str(len(params))) oRequestHandler.addHeaderEntry('Cookie', Cookie) oRequestHandler.addParametersLine(params) # sHtmlContent = oRequestHandler.request() sHosterUrl = oRequestHandler.getRealUrl() 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() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl') sMovieTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') oRequestHandler = cRequestHandler(sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = 'src="([^<]+)" gesture="media"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): m3url = aResult[1][0] oRequest = cRequestHandler(m3url) sHtmlContent = oRequest.request() # (.+?) ([^<]+) .+? sPattern = 'src="([^<]+)" type=' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = sMovieTitle if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) # (.+?) ([^<]+) .+? sPattern = '"file": "(.+?)",' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): total = len(aResult[1]) progress_ = progress().VScreate(SITE_NAME) for aEntry in aResult[1]: progress_.VSupdate(progress_, total) if progress_.iscanceled(): break url = str(aEntry) sTitle = sMovieTitle if url.startswith('//'): url = 'http:' + url sHosterUrl = url oHoster = cHosterGui().checkHoster(sHosterUrl) if (oHoster != False): oHoster.setDisplayName(sMovieTitle) oHoster.setFileName(sMovieTitle) cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail) progress_.VSclose(progress_) oGui.setEndOfDirectory()