mino60

Untitled

Jul 8th, 2016
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.58 KB | None | 0 0
  1. from resources.lib.handler.requestHandler import cRequestHandler
  2. from resources.lib.parser import cParser
  3. from resources.lib.gui.gui import cGui
  4. from resources.lib.config import cConfig
  5. from resources.hosters.hoster import iHoster
  6.  
  7. class cHoster(iHoster):
  8.  
  9.     def __init__(self):
  10.         self.__sDisplayName = 'Nowvideo'
  11.         self.__sFileName = self.__sDisplayName
  12.  
  13.     def getDisplayName(self):
  14.         return  self.__sDisplayName
  15.  
  16.     def setDisplayName(self, sDisplayName):
  17.         self.__sDisplayName = sDisplayName + ' [COLOR skyblue]'+self.__sDisplayName+'[/COLOR]'
  18.  
  19.     def setFileName(self, sFileName):
  20.         self.__sFileName = sFileName
  21.  
  22.     def getFileName(self):
  23.         return self.__sFileName
  24.  
  25.     def getPluginIdentifier(self):
  26.         return 'nowvideo'
  27.  
  28.     def isDownloadable(self):
  29.         return True
  30.  
  31.     def isJDownloaderable(self):
  32.         return True
  33.  
  34.     def getPattern(self):
  35.         return ''
  36.        
  37.     def __getIdFromUrl(self):
  38.         sPattern = "v=([^<]+)"
  39.         oParser = cParser()
  40.         aResult = oParser.parse(self.__sUrl, sPattern)
  41.  
  42.         if (aResult[0] == True):
  43.             return aResult[1][0]
  44.  
  45.         return ''
  46.        
  47.     def __modifyUrl(self, sUrl):
  48.         if (sUrl.startswith('http://')):
  49.             oRequestHandler = cRequestHandler(sUrl)
  50.             oRequestHandler.request()
  51.             sRealUrl = oRequestHandler.getRealUrl()
  52.             self.__sUrl = sRealUrl
  53.             return self.__getIdFromUrl()
  54.  
  55.         return sUrl;
  56.        
  57.     def __getKey(self):
  58.         oRequestHandler = cRequestHandler(self.__sUrl)
  59.         sHtmlContent = oRequestHandler.request()
  60.         sPattern = 'fkzd="(.+?)";'
  61.         oParser = cParser()
  62.         aResult = oParser.parse(sHtmlContent, sPattern)
  63.         if (aResult[0] == True):
  64.             aResult = aResult[1][0].replace('.','%2E')
  65.             return aResult
  66.  
  67.         return ''
  68.                
  69.  
  70.     def setUrl(self, sUrl):
  71.         self.__sUrl = str(sUrl)
  72.        
  73.         domains = ['nowvideo.eu', 'nowvideo.ch', 'nowvideo.sx', 'nowvideo.co', 'nowvideo.li', 'nowvideo.fo', 'nowvideo.at', 'nowvideo.ec']
  74.         sPattern = '(?://|\.)(nowvideo\.(?:eu|ch|sx|co|li|fo|at|ec))/(?:video/|embed\.php\?\S*v=)([A-Za-z0-9]+)'
  75.  
  76.  
  77.     def get_media_url(self, host, media_id):
  78.         web_url = self.get_url(host, media_id)
  79.  
  80.         html = self.net.http_GET(web_url).content
  81.  
  82.         r = re.search('flashvars.filekey=(.+?);', html)
  83.         if r:
  84.             r = r.group(1)
  85.  
  86.             try: filekey = re.compile('\s+%s="(.+?)"' % r).findall(html)[-1]
  87.             except: filekey = r
  88.        
  89.         oParser = cParser()
  90.         aResult = oParser.parse(sUrl, sPattern)        
  91.         self.__sUrl = 'http://www.nowvideo.sx/api/player.api.php?key=%s&file=%s' % (filekey, media_id)
  92.        
  93.  
  94.         return
  95.        
  96.     def __getMediaLinkForGuest(self):
  97.  
  98.         api_call = ('http://www.nowvideo.sx/api/player.api.php?key=%s&file=%s') % (self.__getKey(), self.__getIdFromUrl())
  99.        
  100.         oRequest = cRequestHandler(api_call)
  101.         sHtmlContent = oRequest.request()
  102.        
  103.         sPattern =  'url=(.+?)&title'
  104.         oParser = cParser()
  105.         aResult = oParser.parse(sHtmlContent, sPattern)
  106.        
  107.     def get_url(self, host, media_id):
  108.         return 'http://embed.nowvideo.sx/embed/?v=%s' % media_id
  109.  
  110.     def get_host_and_id(self, url):
  111.         r = re.search(self.pattern, url)
  112.         if r:
  113.             return r.groups()
  114.            
  115.         if (aResult[0] == True):
  116.             return True, aResult[1][0]
  117.        
  118.         return False, False
Advertisement
Add Comment
Please, Sign In to add comment