Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.15 KB | None | 0 0
  1. #-*- coding: utf-8 -*-
  2. #Vstream https://github.com/Kodi-vStream/venom-xbmc-addons
  3.  
  4. from resources.lib.handler.requestHandler import cRequestHandler
  5. from resources.lib.config import cConfig
  6. from resources.hosters.hoster import iHoster
  7. from resources.lib.parser import cParser
  8. from resources.lib.packer import cPacker
  9. import re,xbmcgui,xbmc
  10.  
  11. class cHoster(iHoster):
  12.  
  13. def __init__(self):
  14. self.__sDisplayName = 'Userscloud'
  15. self.__sFileName = self.__sDisplayName
  16. self.__sHD = ''
  17.  
  18. def getDisplayName(self):
  19. return self.__sDisplayName
  20.  
  21. def setDisplayName(self, sDisplayName):
  22. self.__sDisplayName = sDisplayName + ' [COLOR skyblue]'+self.__sDisplayName+'[/COLOR]'
  23.  
  24. def setFileName(self, sFileName):
  25. self.__sFileName = sFileName
  26.  
  27. def getFileName(self):
  28. return self.__sFileName
  29.  
  30. def getPluginIdentifier(self):
  31. return 'userscloud'
  32.  
  33. def setHD(self, sHD):
  34. self.__sHD = ''
  35.  
  36. def getHD(self):
  37. return self.__sHD
  38.  
  39. def isDownloadable(self):
  40. return True
  41.  
  42. def isJDownloaderable(self):
  43. return True
  44.  
  45. def getPattern(self):
  46. return ''
  47.  
  48. def __getIdFromUrl(self, sUrl):
  49. return ''
  50.  
  51. def setUrl(self, sUrl):
  52. self.__sUrl = str(sUrl)
  53.  
  54. def checkUrl(self, sUrl):
  55. return True
  56.  
  57. def __getUrl(self, media_id):
  58. return
  59.  
  60. def getMediaLink(self):
  61. return self.__getMediaLinkForGuest()
  62.  
  63. def __getMediaLinkForGuest(self):
  64.  
  65. sUrl = self.__sUrl
  66.  
  67. oRequest = cRequestHandler(sUrl)
  68. sHtmlContent = oRequest.request()
  69. oParser = cParser()
  70. #xbmc.log(str(sHtmlContent))
  71. #type1 sans protect
  72. sPattern = '<div id="player_code">.+?{file: *"([^"]+)",'
  73. aResult = oParser.parse(sHtmlContent,sPattern)
  74. if (aResult[0] == True):
  75. api_call = aResult[1][0]
  76.  
  77. #type2 packer
  78. sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>'
  79. aResult = oParser.parse(sHtmlContent,sPattern)
  80. if (aResult[0] == True):
  81. sHtmlContent = cPacker().unpack(aResult[1][0])
  82.  
  83. #type video/divx
  84. sPattern = 'name="src"value="([^"]+)".+?"type="([^"]+)"'
  85. aResult = oParser.parse(sHtmlContent,sPattern)
  86. #xbmc.log(str(aResult))
  87. if (aResult[0] == True):
  88. #initialisation des tableaux
  89. url=[]
  90. qua=[]
  91. #Replissage des tableaux
  92. for i in aResult[1]:
  93. url.append(str(i[0]))
  94. qua.append(str(i[1]))
  95. #Si une seule url
  96. if len(url) == 1:
  97. api_call = url[0]
  98. #si plus de une
  99. elif len(url) > 1:
  100. #Afichage du tableau
  101. dialog2 = xbmcgui.Dialog()
  102. ret = dialog2.select('Select Quality',qua)
  103. if (ret > -1):
  104. api_call = url[ret]
  105.  
  106.  
  107. if (api_call):
  108. return True, api_call
  109.  
  110. return False, False
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement