Advertisement
Guest User

tascr

a guest
Nov 20th, 2018
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.28 KB | None | 0 0
  1. '''
  2. Torrentapi
  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 = 'https://Torrentapi.top'
  14. self.api_key = PremiumizeMeResolver.get_setting('password')
  15. self.tvsearch = 'https://torrentapi.org//pubapi_v2.php?app_id=exodus&mode=search&search_string=%s&category=tv&ranked=0&token=%s'
  16. self.msearch = 'https://torrentapi.org//pubapi_v2.php?app_id=exodus&mode=search&search_string=%s&category=movies&ranked=0&token=%s'
  17. self.tokenta = 'https://torrentapi.org//pubapi_v2.php?app_id=exodus&get_token=get_token'
  18. self.checkc = 'https://www.premiumize.me/api/torrent/checkhashes?apikey=%s&hashes[]=%s&apikey=%s'
  19. self.pr_link = 'https://www.premiumize.me/api/transfer/directdl?apikey=%s&src=magnet:?xt=urn:btih:%s'
  20.  
  21. def movie(self, imdb, title, localtitle, aliases, year):
  22. try:
  23. url = {'title': title, 'year': year}
  24. return url
  25. except:
  26. print("Unexpected error in Torrentapi Script: episode", sys.exc_info()[0])
  27. exc_type, exc_obj, exc_tb = sys.exc_info()
  28. print(exc_type, exc_tb.tb_lineno)
  29. return url
  30.  
  31. def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year):
  32. try:
  33. url = tvshowtitle
  34. return url
  35. except:
  36. print("Unexpected error in Torrentapi Script: TV", sys.exc_info()[0])
  37. return url
  38. return url
  39.  
  40. def episode(self, url, imdb, tvdb, title, premiered, season, episode):
  41. try:
  42. url = url
  43. url = {'tvshowtitle': url, 'season': season, 'episode': episode, 'premiered': premiered}
  44. return url
  45. except:
  46. print("Unexpected error in Torrentapi Script: episode", sys.exc_info()[0])
  47. exc_type, exc_obj, exc_tb = sys.exc_info()
  48. print(exc_type, exc_tb.tb_lineno)
  49. return url
  50.  
  51. def sources(self, url, hostDict, hostprDict):
  52. sources = []
  53. try:
  54. with requests.Session() as s:
  55. gettoken = s.get(self.tokenta).text
  56. xbmc.sleep(2000)
  57. tokenapi = re.compile('n\W+(.*?)[\'"]', re.I).findall(gettoken)[0]
  58. if 'episode' in url:
  59. iep = url['episode'].zfill(2)
  60. ise = url['season'].zfill(2)
  61. se = 's' + ise + 'e' + iep
  62. sel = url['tvshowtitle'].replace(' ','.') + '.' + se
  63. search_link = self.tvsearch
  64. else:
  65. sel = url['title'].replace(' ','.') + '.' + url['year']
  66. search_link = self.msearch
  67. gs = s.get(search_link % (sel, tokenapi)).text
  68. gl = re.compile('ame\W+(.*?)[\'"].*?ih:(.*?)\W', re.I).findall(gs)
  69. for nam,hass in gl:
  70. checkca = s.get(self.checkc % (self.api_key, hass, self.api_key)).text
  71. if 'finished' in checkca:
  72. url = self.pr_link % (self.api_key, hass)
  73. sources.append({
  74. 'source': 'TA',
  75. 'quality': '1080p',
  76. 'language': 'en',
  77. 'url': url,
  78. 'direct': False,
  79. 'debridonly': False,
  80. 'info': nam,
  81. })
  82. return sources
  83. except:
  84. print("Unexpected error in Torrentapi Script: Sources", sys.exc_info()[0])
  85. exc_type, exc_obj, exc_tb = sys.exc_info()
  86. print(exc_type, exc_tb.tb_lineno)
  87. return sources
  88.  
  89.  
  90. def resolve(self, url):
  91. try:
  92. getpl = requests.get(url).text
  93. sl = re.compile('link.*?"(h.*?)["\'].\n.*?s.*?http', re.I).findall(getpl)[0]
  94. url = sl.replace('\\','')
  95. return url
  96. except:
  97. print("Unexpected error in Torrentapi Script: episode", sys.exc_info()[0])
  98. exc_type, exc_obj, exc_tb = sys.exc_info()
  99. print(exc_type, exc_tb.tb_lineno)
  100. return url
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement