Guest User

TA

a guest
Nov 20th, 2018
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.39 KB | None | 0 0
  1. '''
  2.    Torrentapi
  3. '''
  4.  
  5. import re, requests, xbmc
  6. from resolveurl.plugins.premiumize_me import PremiumizeMeResolver
  7. from resources.lib.modules import source_utils
  8.  
  9. class source:
  10.  
  11.     def __init__(self):
  12.         self.priority = 1
  13.         self.language = ['en']
  14.         self.domain = 'https://Torrentapi.top'
  15.         self.api_key = PremiumizeMeResolver.get_setting('password')
  16.         self.tvsearch = 'https://torrentapi.org//pubapi_v2.php?app_id=exodus&mode=search&search_string=%s&category=tv&ranked=0&token=%s'
  17.         self.msearch = 'https://torrentapi.org//pubapi_v2.php?app_id=exodus&mode=search&search_string=%s&category=movies&ranked=0&token=%s'
  18.         self.tokenta = 'https://torrentapi.org//pubapi_v2.php?app_id=exodus&get_token=get_token'
  19.         self.checkc = 'https://www.premiumize.me/api/torrent/checkhashes?apikey=%s&hashes[]=%s&apikey=%s'
  20.         self.pr_link = 'https://www.premiumize.me/api/transfer/directdl?apikey=%s&src=magnet:?xt=urn:btih:%s'
  21.  
  22.     def movie(self, imdb, title, localtitle, aliases, year):
  23.         try:
  24.             url = {'title': title, 'year': year}
  25.             return url
  26.         except:
  27.             print("Unexpected error in Torrentapi Script: episode", sys.exc_info()[0])
  28.             exc_type, exc_obj, exc_tb = sys.exc_info()
  29.             print(exc_type, exc_tb.tb_lineno)
  30.             return url
  31.  
  32.     def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year):
  33.         try:
  34.             url = tvshowtitle
  35.             return url
  36.         except:
  37.             print("Unexpected error in Torrentapi Script: TV", sys.exc_info()[0])
  38.             return url
  39.         return url
  40.  
  41.     def episode(self, url, imdb, tvdb, title, premiered, season, episode):
  42.         try:
  43.             url = url
  44.             url = {'tvshowtitle': url, 'season': season, 'episode': episode, 'premiered': premiered}
  45.             return url
  46.         except:
  47.             print("Unexpected error in Torrentapi Script: episode", sys.exc_info()[0])
  48.             exc_type, exc_obj, exc_tb = sys.exc_info()
  49.             print(exc_type, exc_tb.tb_lineno)
  50.             return url
  51.  
  52.     def sources(self, url, hostDict, hostprDict):
  53.         sources = []
  54.         try:
  55.             with requests.Session() as s:
  56.                 gettoken = s.get(self.tokenta).text
  57.                 xbmc.sleep(2000)
  58.                 tokenapi = re.compile('n\W+(.*?)[\'"]', re.I).findall(gettoken)[0]
  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.                     search_link = self.tvsearch
  65.                 else:
  66.                     sel = url['title'].replace(' ','.') + '.' + url['year']
  67.                     search_link = self.msearch
  68.                 gs = s.get(search_link % (sel, tokenapi)).text
  69.                 gl = re.compile('ame\W+(.*?)[\'"].*?ih:(.*?)\W', re.I).findall(gs)
  70.                 for nam,hass in gl:
  71.                     checkca = s.get(self.checkc % (self.api_key, hass, self.api_key)).text
  72.                     quality = source_utils.check_sd_url(nam)
  73.                     if 'finished' in checkca:
  74.                         url = self.pr_link % (self.api_key, hass)
  75.                         sources.append({
  76.                             'source': 'cached',
  77.                             'quality': quality,
  78.                             'language': 'en',
  79.                             'url': url,
  80.                             'direct': False,
  81.                             'debridonly': False,
  82.                             'info': nam,
  83.                         })  
  84.             return sources
  85.         except:
  86.             print("Unexpected error in Torrentapi 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 Torrentapi 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
Add Comment
Please, Sign In to add comment