Advertisement
Guest User

mdl

a guest
Nov 20th, 2018
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. '''
  2. MagnetDL
  3. '''
  4.  
  5. import re, requests, xbmc
  6. from resolveurl.plugins.premiumize_me import PremiumizeMeResolver
  7.  
  8. class source:
  9.  
  10. def __init__(self):
  11. self.priority = 0
  12. self.language = ['en']
  13. self.domain = 'http://www.magnetdl.com'
  14. self.api_key = PremiumizeMeResolver.get_setting('password')
  15. self.search_link = 'http://www.magnetdl.com/%s/%s/'
  16. self.checkc = 'https://www.premiumize.me/api/torrent/checkhashes?apikey=%s&hashes[]=%s&apikey=%s'
  17. self.pr_link = 'https://www.premiumize.me/api/transfer/directdl?apikey=%s&src=magnet:?xt=urn:btih:%s'
  18.  
  19. def movie(self, imdb, title, localtitle, aliases, year):
  20. try:
  21. url = {'title': title, 'year': year}
  22. return url
  23. except:
  24. print("Unexpected error in MagnetDL Script: episode", sys.exc_info()[0])
  25. exc_type, exc_obj, exc_tb = sys.exc_info()
  26. print(exc_type, exc_tb.tb_lineno)
  27. return url
  28.  
  29. def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year):
  30. try:
  31. url = tvshowtitle
  32. return url
  33. except:
  34. print("Unexpected error in MagnetDL Script: TV", sys.exc_info()[0])
  35. return url
  36. return url
  37.  
  38. def episode(self, url, imdb, tvdb, title, premiered, season, episode):
  39. try:
  40. url = url
  41. url = {'tvshowtitle': url, 'season': season, 'episode': episode, 'premiered': premiered}
  42. return url
  43. except:
  44. print("Unexpected error in MagnetDL Script: episode", sys.exc_info()[0])
  45. exc_type, exc_obj, exc_tb = sys.exc_info()
  46. print(exc_type, exc_tb.tb_lineno)
  47. return url
  48.  
  49. def sources(self, url, hostDict, hostprDict):
  50. sources = []
  51. try:
  52. with requests.Session() as s:
  53. headers = {"Referer": self.domain,\
  54. "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",\
  55. "Host": "www.magnetdl.com","User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0",\
  56. "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",\
  57. "Accept-Encoding": "gzip, deflate, br","Accept-Language": "en-US,en;q=0.5",\
  58. "Connection": "keep-alive","DNT":"1"}
  59. if 'episode' in url:
  60. iep = url['episode'].zfill(2)
  61. ise = url['season'].zfill(2)
  62. se = 's' + ise + 'e' + iep
  63. sel = url['tvshowtitle'].replace(' ','-') + '-' + se
  64.  
  65. else:
  66. sel = url['title'].replace(' ','-') + '-' + url['year']
  67.  
  68. sel = sel.lower()
  69. gs = s.get(self.search_link % (sel[0], sel), headers=headers).text
  70. gl = re.compile('ih:(.*?)\W.*?ef\W+.*?tle\W+(.*?)[\'"].*?\d</td.*?d>(.*?)<', re.I).findall(gs)
  71. for hass,nam,siz in gl:
  72. checkca = s.get(self.checkc % (self.api_key, hass, self.api_key)).text
  73. if 'finished' in checkca:
  74. url = self.pr_link % (self.api_key, hass)
  75. sources.append({
  76. 'source': 'CACHED',
  77. 'quality': '1080p',
  78. 'language': 'en',
  79. 'url': url,
  80. 'direct': False,
  81. 'debridonly': False,
  82. 'info': siz+' '+nam,
  83. })
  84. return sources
  85. except:
  86. print("Unexpected error in MagnetDL Script: Sources", sys.exc_info()[0])
  87. exc_type, exc_obj, exc_tb = sys.exc_info()
  88. print(exc_type, exc_tb.tb_lineno)
  89. return sources
  90.  
  91.  
  92. def resolve(self, url):
  93. try:
  94. getpl = requests.get(url).text
  95. sl = re.compile('link.*?"(h.*?)["\'].\n.*?s.*?http', re.I).findall(getpl)[0]
  96. url = sl.replace('\\','')
  97. return url
  98. except:
  99. print("Unexpected error in MagnetDL Script: episode", sys.exc_info()[0])
  100. exc_type, exc_obj, exc_tb = sys.exc_info()
  101. print(exc_type, exc_tb.tb_lineno)
  102. return url
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement