Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #-*- coding: utf-8 -*-
- #Venom.
- from resources.lib.gui.hoster import cHosterGui
- from resources.lib.handler.hosterHandler import cHosterHandler
- from resources.lib.gui.gui import cGui
- from resources.lib.gui.guiElement import cGuiElement
- from resources.lib.handler.inputParameterHandler import cInputParameterHandler
- from resources.lib.handler.outputParamete
- rHandler import cOutputParameterHandler
- from resources.lib.handler.requestHandler import cRequestHandler
- from resources.lib.parser import cParser
- from resources.lib.util import cUtil
- from resources.lib.config import cConfig
- import re, urllib
- SITE_IDENTIFIER = 'megastream_in'
- SITE_NAME = 'Megastream.in'
- SITE_DESC = 'Film Serie et Anime en Streaming HD - Vk.Com - Netu.tv - ExaShare - YouWatch'
- URL_MAIN = 'http://www.megastream.in/'
- MOVIE_NEWS = ('http://www.megastream.in/films/', 'showMovies')
- MOVIE_GENRES = (True, 'showGenre')
- URL_SEARCH = ('http://full-stream.me/index.php?do=search&subaction=search&search_start=0&full_search=0&result_from=1&story=', 'showMovies')
- FUNCTION_SEARCH = 'showMovies'
- def load():
- oGui = cGui()
- oOutputParameterHandler = cOutputParameterHandler()
- oOutputParameterHandler.addParameter('siteUrl', URL_SEARCH[0])
- oGui.addDir(SITE_IDENTIFIER, 'showMoviesSearch', 'Recherche Films', 'search.png', oOutputParameterHandler)
- oOutputParameterHandler = cOutputParameterHandler()
- oOutputParameterHandler.addParameter('siteUrl', MOVIE_NEWS[0])
- oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Nouveautés', 'news.png', oOutputParameterHandler)
- oOutputParameterHandler = cOutputParameterHandler()
- oOutputParameterHandler.addParameter('siteUrl', MOVIE_GENRES[0])
- oGui.addDir(SITE_IDENTIFIER, 'showGenre', 'Films Genres', 'genres.png', oOutputParameterHandler)
- oGui.setEndOfDirectory()
- def showSearch():
- oGui = cGui()
- sSearchText = oGui.showKeyBoard()
- if (sSearchText != False):
- #sSearchText = cUtil().urlEncode(sSearchText)
- sUrl = 'http://full-stream.me/index.php?do=search&subaction=search&search_start=0&full_search=0&result_from=1&story='+sSearchText
- showMovies(sUrl)
- oGui.setEndOfDirectory()
- return
- def getPremiumUser():
- sUrl = 'http://megastream.in/'
- oRequestHandler = cRequestHandler(sUrl)
- oRequestHandler.setRequestType(cRequestHandler.REQUEST_TYPE_POST)
- oRequestHandler.addParameters('login_name', 'vstream')
- oRequestHandler.addParameters('login_password', 'vstream')
- oRequestHandler.addParameters('Submit', '')
- oRequestHandler.addParameters('login', 'submit')
- oRequestHandler.request()
- aHeader = oRequestHandler.getResponseHeader()
- sReponseCookie = aHeader.getheader("Set-Cookie")
- return sReponseCookie
- def showGenre():
- oGui = cGui()
- oInputParameterHandler = cInputParameterHandler()
- sVersion = oInputParameterHandler.getValue('version')
- sType2 = oInputParameterHandler.getValue('type2')
- liste = []
- liste.append( ['Action','http://www.adkami.com/video?recherche=&genre3=1&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Aventure','http://www.adkami.com/video?recherche=&genre3=2&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Amour & Amitié','http://www.adkami.com/video?recherche=&genre3=3&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Combat','http://www.adkami.com/video?recherche=&genre3=4&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Comédie','http://www.adkami.com/video?recherche=&genre3=5&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Contes & Récits','http://www.adkami.com/video?recherche=&genre3=6&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Cyber & Mecha','http://www.adkami.com/video?recherche=&genre3=7&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Dark Fantasy','http://www.adkami.com/video?recherche=&genre3=8&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Drame','http://www.adkami.com/video?recherche=&genre3=9&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Ecchi','http://www.adkami.com/video?recherche=&genre3=10&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Educatif','http://www.adkami.com/video?recherche=&genre3=11&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Énigme & Policier','http://www.adkami.com/video?recherche=&genre3=12&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Épique & Héroique','http://www.adkami.com/video?recherche=&genre3=13&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Espace & Sci-Fiction','http://www.adkami.com/video?recherche=&genre3=14&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Familial & Jeunesse','http://www.adkami.com/video?recherche=&genre3=15&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Fantastique & Mythe','http://www.adkami.com/video?recherche=&genre3=16&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Hentai','http://www.adkami.com/video?recherche=&genre3=17&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Historique','http://www.adkami.com/video?recherche=&genre3=18&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Horreur','http://www.adkami.com/video?recherche=&genre3=19&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Magical Girl','http://www.adkami.com/video?recherche=&genre3=20&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Musical','http://www.adkami.com/video?recherche=&genre3=21&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Psychologique','http://www.adkami.com/video?recherche=&genre3=22&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Sport','http://www.adkami.com/video?recherche=&genre3=23&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Tranche de vie','http://www.adkami.com/video?recherche=&genre3=24&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Shôjo-Ai','http://www.adkami.com/video?recherche=&genre3=25&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Shônen-Ai','http://www.adkami.com/video?recherche=&genre3=26&type2='+str(sType2)+'&version='+str(sVersion)] )
- liste.append( ['Yaoi /BL','http://www.adkami.com/video?recherche=&genre3=27&type2='+str(sType2)+'&version='+str(sVersion)] )
- for sTitle,sUrl in liste:
- oOutputParameterHandler = cOutputParameterHandler()
- oOutputParameterHandler.addParameter('siteUrl', sUrl)
- oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler)
- oGui.setEndOfDirectory()
- def showMovies(sSearch = ''):
- oGui = cGui()
- if sSearch:
- sUrl = sSearch
- else:
- oInputParameterHandler = cInputParameterHandler()
- sUrl = oInputParameterHandler.getValue('siteUrl')
- oRequestHandler = cRequestHandler(sUrl)
- sHtmlContent = oRequestHandler.request();
- sHtmlContent = sHtmlContent.replace('<span class="likeThis">', '').replace('</span>','')
- sPattern = '<figure class="alignnone project-img"><img src="(.+?)" alt="".+?>.+?class="title"><a href="(.+?)">(.+?)</a></h4>'
- oParser = cParser()
- aResult = oParser.parse(sHtmlContent, sPattern)
- if (aResult[0] == False):
- oGui.addNone(SITE_IDENTIFIER)
- 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 = aEntry[2]+' - [COLOR azure]'+aEntry[3]+'[/COLOR]'
- oOutputParameterHandler = cOutputParameterHandler()
- oOutputParameterHandler.addParameter('siteUrl', str(aEntry[1]))
- oOutputParameterHandler.addParameter('sMovieTitle', str(aEntry[2]))
- oOutputParameterHandler.addParameter('sThumbnail', str(aEntry[0]))
- if '/tv-series' in sUrl or '/tv-series' in aEntry[0]:
- oGui.addTV(SITE_IDENTIFIER, 'showSeries', aEntry[2],'', aEntry[0], '', oOutputParameterHandler)
- else:
- oGui.addMovie(SITE_IDENTIFIER, 'showHosters', aEntry[2], '', aEntry[0], '', oOutputParameterHandler)
- cConfig().finishDialog(dialog)
- sNextPage = __checkForNextPage(sHtmlContent)
- if (sNextPage != False):
- oOutputParameterHandler = cOutputParameterHandler()
- oOutputParameterHandler.addParameter('siteUrl', sNextPage)
- oGui.addDir(SITE_IDENTIFIER, 'showMovies', '[COLOR teal]Next >>>[/COLOR]', 'next.png', oOutputParameterHandler)
- if not sSearch:
- oGui.setEndOfDirectory()
- def __checkForNextPage(sHtmlContent):
- #sPattern = 'class="btn btn-sm btn-default">.+?</a></li><li><a href="(.+?)" class="btn btn-sm btn-default">»</a></li></ul></div></div>'
- sPattern = 'class="btn btn-sm btn-default">.+?</a></li><li><a href="([^<]+)"'
- oParser = cParser()
- aResult = oParser.parse(sHtmlContent, sPattern)
- if (aResult[0] == True):
- return aResult[1][0]
- return False
- 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://www.facebook.com/','')
- sHtmlContent = sHtmlContent.replace('http://videomega.tv/validateemb.php','')
- sHtmlContent = sHtmlContent.replace('src="http://frenchstream.org/','')
- sPattern = '(?:(?:<script type="text\/javascript")|(?:<ifram[^<>]+?)) src=[\'"](http:[^\'"]+?)[\'"]'
- oParser = cParser()
- aResult = oParser.parse(sHtmlContent, sPattern)
- #print aResult
- 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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement