Advertisement
Guest User

Untitled

a guest
Sep 4th, 2015
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.93 KB | None | 0 0
  1. #-*- coding: utf-8 -*-
  2. #Venom.
  3. from resources.lib.gui.hoster import cHosterGui
  4. from resources.lib.handler.hosterHandler import cHosterHandler
  5. from resources.lib.gui.gui import cGui
  6. from resources.lib.gui.guiElement import cGuiElement
  7. from resources.lib.handler.inputParameterHandler import cInputParameterHandler
  8. from resources.lib.handler.outputParamete
  9. rHandler import cOutputParameterHandler
  10. from resources.lib.handler.requestHandler import cRequestHandler
  11. from resources.lib.parser import cParser
  12. from resources.lib.util import cUtil
  13. from resources.lib.config import cConfig
  14. import re, urllib
  15.  
  16.  
  17. SITE_IDENTIFIER = 'megastream_in'
  18. SITE_NAME = 'Megastream.in'
  19. SITE_DESC = 'Film Serie et Anime en Streaming HD - Vk.Com - Netu.tv - ExaShare - YouWatch'
  20.  
  21. URL_MAIN = 'http://www.megastream.in/'
  22.  
  23. MOVIE_NEWS = ('http://www.megastream.in/films/', 'showMovies')
  24. MOVIE_GENRES = (True, 'showGenre')
  25.  
  26.  
  27. URL_SEARCH = ('http://full-stream.me/index.php?do=search&subaction=search&search_start=0&full_search=0&result_from=1&story=', 'showMovies')
  28. FUNCTION_SEARCH = 'showMovies'
  29.  
  30. def load():
  31.     oGui = cGui()
  32.    
  33.     oOutputParameterHandler = cOutputParameterHandler()
  34.     oOutputParameterHandler.addParameter('siteUrl', URL_SEARCH[0])
  35.     oGui.addDir(SITE_IDENTIFIER, 'showMoviesSearch', 'Recherche Films', 'search.png', oOutputParameterHandler)
  36.    
  37.     oOutputParameterHandler = cOutputParameterHandler()
  38.     oOutputParameterHandler.addParameter('siteUrl', MOVIE_NEWS[0])
  39.     oGui.addDir(SITE_IDENTIFIER, 'showMovies', 'Films Nouveautés', 'news.png', oOutputParameterHandler)
  40.    
  41.     oOutputParameterHandler = cOutputParameterHandler()
  42.     oOutputParameterHandler.addParameter('siteUrl', MOVIE_GENRES[0])
  43.     oGui.addDir(SITE_IDENTIFIER, 'showGenre', 'Films Genres', 'genres.png', oOutputParameterHandler)
  44.    
  45.            
  46.     oGui.setEndOfDirectory()
  47.  
  48. def showSearch():
  49.     oGui = cGui()
  50.  
  51.     sSearchText = oGui.showKeyBoard()
  52.     if (sSearchText != False):
  53.         #sSearchText = cUtil().urlEncode(sSearchText)
  54.         sUrl = 'http://full-stream.me/index.php?do=search&subaction=search&search_start=0&full_search=0&result_from=1&story='+sSearchText  
  55.         showMovies(sUrl)
  56.         oGui.setEndOfDirectory()
  57.         return  
  58.    
  59.    
  60.    
  61. def getPremiumUser():
  62.     sUrl = 'http://megastream.in/'
  63.     oRequestHandler = cRequestHandler(sUrl)
  64.     oRequestHandler.setRequestType(cRequestHandler.REQUEST_TYPE_POST)
  65.     oRequestHandler.addParameters('login_name', 'vstream')
  66.     oRequestHandler.addParameters('login_password', 'vstream')
  67.     oRequestHandler.addParameters('Submit', '')
  68.     oRequestHandler.addParameters('login', 'submit')
  69.     oRequestHandler.request()
  70.  
  71.     aHeader = oRequestHandler.getResponseHeader()
  72.     sReponseCookie = aHeader.getheader("Set-Cookie")
  73.  
  74.     return sReponseCookie
  75.  
  76.        
  77.  
  78.        
  79. def showGenre():
  80.     oGui = cGui()
  81.     oInputParameterHandler = cInputParameterHandler()
  82.     sVersion = oInputParameterHandler.getValue('version')
  83.     sType2 = oInputParameterHandler.getValue('type2')
  84.  
  85.     liste = []
  86.     liste.append( ['Action','http://www.adkami.com/video?recherche=&genre3=1&type2='+str(sType2)+'&version='+str(sVersion)] )
  87.     liste.append( ['Aventure','http://www.adkami.com/video?recherche=&genre3=2&type2='+str(sType2)+'&version='+str(sVersion)] )
  88.     liste.append( ['Amour & Amitié','http://www.adkami.com/video?recherche=&genre3=3&type2='+str(sType2)+'&version='+str(sVersion)] )
  89.     liste.append( ['Combat','http://www.adkami.com/video?recherche=&genre3=4&type2='+str(sType2)+'&version='+str(sVersion)] )
  90.     liste.append( ['Comédie','http://www.adkami.com/video?recherche=&genre3=5&type2='+str(sType2)+'&version='+str(sVersion)] )
  91.     liste.append( ['Contes & Récits','http://www.adkami.com/video?recherche=&genre3=6&type2='+str(sType2)+'&version='+str(sVersion)] )
  92.     liste.append( ['Cyber & Mecha','http://www.adkami.com/video?recherche=&genre3=7&type2='+str(sType2)+'&version='+str(sVersion)] )
  93.     liste.append( ['Dark Fantasy','http://www.adkami.com/video?recherche=&genre3=8&type2='+str(sType2)+'&version='+str(sVersion)] )
  94.     liste.append( ['Drame','http://www.adkami.com/video?recherche=&genre3=9&type2='+str(sType2)+'&version='+str(sVersion)] )
  95.     liste.append( ['Ecchi','http://www.adkami.com/video?recherche=&genre3=10&type2='+str(sType2)+'&version='+str(sVersion)] )
  96.     liste.append( ['Educatif','http://www.adkami.com/video?recherche=&genre3=11&type2='+str(sType2)+'&version='+str(sVersion)] )
  97.     liste.append( ['Énigme & Policier','http://www.adkami.com/video?recherche=&genre3=12&type2='+str(sType2)+'&version='+str(sVersion)] )
  98.     liste.append( ['Épique & Héroique','http://www.adkami.com/video?recherche=&genre3=13&type2='+str(sType2)+'&version='+str(sVersion)] )
  99.     liste.append( ['Espace & Sci-Fiction','http://www.adkami.com/video?recherche=&genre3=14&type2='+str(sType2)+'&version='+str(sVersion)] )
  100.     liste.append( ['Familial & Jeunesse','http://www.adkami.com/video?recherche=&genre3=15&type2='+str(sType2)+'&version='+str(sVersion)] )
  101.     liste.append( ['Fantastique & Mythe','http://www.adkami.com/video?recherche=&genre3=16&type2='+str(sType2)+'&version='+str(sVersion)] )
  102.     liste.append( ['Hentai','http://www.adkami.com/video?recherche=&genre3=17&type2='+str(sType2)+'&version='+str(sVersion)] )
  103.     liste.append( ['Historique','http://www.adkami.com/video?recherche=&genre3=18&type2='+str(sType2)+'&version='+str(sVersion)] )
  104.     liste.append( ['Horreur','http://www.adkami.com/video?recherche=&genre3=19&type2='+str(sType2)+'&version='+str(sVersion)] )
  105.     liste.append( ['Magical Girl','http://www.adkami.com/video?recherche=&genre3=20&type2='+str(sType2)+'&version='+str(sVersion)] )
  106.     liste.append( ['Musical','http://www.adkami.com/video?recherche=&genre3=21&type2='+str(sType2)+'&version='+str(sVersion)] )
  107.     liste.append( ['Psychologique','http://www.adkami.com/video?recherche=&genre3=22&type2='+str(sType2)+'&version='+str(sVersion)] )
  108.     liste.append( ['Sport','http://www.adkami.com/video?recherche=&genre3=23&type2='+str(sType2)+'&version='+str(sVersion)] )
  109.     liste.append( ['Tranche de vie','http://www.adkami.com/video?recherche=&genre3=24&type2='+str(sType2)+'&version='+str(sVersion)] )
  110.     liste.append( ['Shôjo-Ai','http://www.adkami.com/video?recherche=&genre3=25&type2='+str(sType2)+'&version='+str(sVersion)] )
  111.     liste.append( ['Shônen-Ai','http://www.adkami.com/video?recherche=&genre3=26&type2='+str(sType2)+'&version='+str(sVersion)] )
  112.     liste.append( ['Yaoi /BL','http://www.adkami.com/video?recherche=&genre3=27&type2='+str(sType2)+'&version='+str(sVersion)] )
  113.                
  114.     for sTitle,sUrl in liste:
  115.        
  116.         oOutputParameterHandler = cOutputParameterHandler()
  117.         oOutputParameterHandler.addParameter('siteUrl', sUrl)
  118.         oGui.addDir(SITE_IDENTIFIER, 'showMovies', sTitle, 'genres.png', oOutputParameterHandler)
  119.        
  120.     oGui.setEndOfDirectory()
  121.  
  122.  
  123. def showMovies(sSearch = ''):
  124.     oGui = cGui()
  125.     if sSearch:
  126.       sUrl = sSearch
  127.     else:
  128.         oInputParameterHandler = cInputParameterHandler()
  129.         sUrl = oInputParameterHandler.getValue('siteUrl')
  130.    
  131.     oRequestHandler = cRequestHandler(sUrl)
  132.     sHtmlContent = oRequestHandler.request();
  133.     sHtmlContent = sHtmlContent.replace('<span class="likeThis">', '').replace('</span>','')
  134.     sPattern = '<figure class="alignnone project-img"><img src="(.+?)" alt="".+?>.+?class="title"><a href="(.+?)">(.+?)</a></h4>'
  135.    
  136.     oParser = cParser()
  137.     aResult = oParser.parse(sHtmlContent, sPattern)
  138.    
  139.     if (aResult[0] == False):
  140.         oGui.addNone(SITE_IDENTIFIER)
  141.  
  142.     if (aResult[0] == True):
  143.         total = len(aResult[1])
  144.         dialog = cConfig().createDialog(SITE_NAME)
  145.         for aEntry in aResult[1]:
  146.             cConfig().updateDialog(dialog, total)
  147.             if dialog.iscanceled():
  148.                 break
  149.            
  150.             #sTitle = aEntry[2]+' - [COLOR azure]'+aEntry[3]+'[/COLOR]'
  151.             oOutputParameterHandler = cOutputParameterHandler()
  152.             oOutputParameterHandler.addParameter('siteUrl', str(aEntry[1]))
  153.             oOutputParameterHandler.addParameter('sMovieTitle', str(aEntry[2]))
  154.             oOutputParameterHandler.addParameter('sThumbnail', str(aEntry[0]))
  155.             if '/tv-series' in sUrl or '/tv-series' in aEntry[0]:
  156.                 oGui.addTV(SITE_IDENTIFIER, 'showSeries', aEntry[2],'', aEntry[0], '', oOutputParameterHandler)
  157.             else:
  158.                 oGui.addMovie(SITE_IDENTIFIER, 'showHosters', aEntry[2], '', aEntry[0], '', oOutputParameterHandler)          
  159.    
  160.         cConfig().finishDialog(dialog)
  161.  
  162.         sNextPage = __checkForNextPage(sHtmlContent)
  163.         if (sNextPage != False):
  164.             oOutputParameterHandler = cOutputParameterHandler()
  165.             oOutputParameterHandler.addParameter('siteUrl', sNextPage)
  166.             oGui.addDir(SITE_IDENTIFIER, 'showMovies', '[COLOR teal]Next >>>[/COLOR]', 'next.png', oOutputParameterHandler)
  167.  
  168.     if not sSearch:
  169.         oGui.setEndOfDirectory()
  170.  
  171.  
  172.        
  173.  
  174. def __checkForNextPage(sHtmlContent):
  175.     #sPattern = 'class="btn btn-sm btn-default">.+?</a></li><li><a href="(.+?)" class="btn btn-sm btn-default">»</a></li></ul></div></div>'
  176.     sPattern = 'class="btn btn-sm btn-default">.+?</a></li><li><a href="([^<]+)"'
  177.     oParser = cParser()
  178.     aResult = oParser.parse(sHtmlContent, sPattern)
  179.     if (aResult[0] == True):
  180.         return aResult[1][0]
  181.  
  182.     return False
  183.    
  184.  
  185. def showHosters():
  186.     oGui = cGui()
  187.     oInputParameterHandler = cInputParameterHandler()
  188.     sUrl = oInputParameterHandler.getValue('siteUrl')
  189.     sMovieTitle = oInputParameterHandler.getValue('sMovieTitle')
  190.     sThumbnail = oInputParameterHandler.getValue('sThumbnail')
  191.  
  192.     oRequestHandler = cRequestHandler(sUrl)
  193.     sHtmlContent = oRequestHandler.request();
  194.     sHtmlContent = sHtmlContent.replace('<iframe src="//www.facebook.com/','').replace('<iframe src="http://www.facebook.com/','')
  195.     sHtmlContent = sHtmlContent.replace('http://videomega.tv/validateemb.php','')
  196.     sHtmlContent = sHtmlContent.replace('src="http://frenchstream.org/','')
  197.        
  198.     sPattern = '(?:(?:<script type="text\/javascript")|(?:<ifram[^<>]+?)) src=[\'"](http:[^\'"]+?)[\'"]'
  199.     oParser = cParser()
  200.     aResult = oParser.parse(sHtmlContent, sPattern)
  201.    
  202.     #print aResult
  203.      
  204.     if (aResult[0] == True):
  205.         total = len(aResult[1])
  206.         dialog = cConfig().createDialog(SITE_NAME)
  207.         for aEntry in aResult[1]:
  208.             cConfig().updateDialog(dialog, total)
  209.             if dialog.iscanceled():
  210.                 break
  211.            
  212.             sHosterUrl = str(aEntry)
  213.             oHoster = cHosterGui().checkHoster(sHosterUrl)
  214.             if (oHoster != False):
  215.                 oHoster.setDisplayName(sMovieTitle)
  216.                 oHoster.setFileName(sMovieTitle)
  217.                 cHosterGui().showHoster(oGui, oHoster, sHosterUrl, sThumbnail)        
  218.    
  219.         cConfig().finishDialog(dialog)
  220.  
  221.     oGui.setEndOfDirectory()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement