Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.95 KB | None | 0 0
  1. # VERSION: 1.0
  2. # AUTHORS: mauricci
  3.  
  4. from helpers import download_file, retrieve_url
  5. from novaprinter import prettyPrinter
  6. import json, math
  7.  
  8. try:
  9. # python3
  10. from html.parser import HTMLParser
  11. except ImportError:
  12. # python2
  13. from HTMLParser import HTMLParser
  14.  
  15.  
  16. class yts_am(object):
  17. url = 'https://yts.lt/'
  18. name = 'Yts.am'
  19. # category not used, just declared for qbt
  20. supported_categories = {'all': '', 'movies': ''}
  21.  
  22. def search(self, what, cat='all'):
  23. page = 1#current page number
  24. limit = 20 # results per page
  25. moviesPages = 10 # actual total number of pages
  26.  
  27. while page <= 10 and page <= moviesPages: # max 10 pages
  28. url = self.url + 'api/v2/list_movies.json?query_term={0}&page={1}&limit={2}'.format(what, page, limit)
  29. page += 1
  30. html = retrieve_url(url)
  31. jsonData = json.loads(html)
  32. self.processJson(jsonData)
  33. moviesPages = math.ceil(float(jsonData['data']['movie_count']) / limit)
  34.  
  35. def getSingleData(self):
  36. return {'name': '-1', 'seeds': '-1', 'leech': '-1', 'size': '-1', 'link': '-1', 'desc_link': '-1',
  37. 'engine_url': self.url}
  38.  
  39. def processJson(self, json):
  40. movieData = self.getSingleData()
  41. for movie in json['data']['movies']:
  42. movieData['name'] = '{} - {}'.format(movie['title'], movies['year'])
  43. movieData['desc_link'] = movie['url']
  44. for torrent in movie['torrents']:
  45. movieData['seeds'] = torrent['seeds']
  46. movieData['leech'] = torrent['peers']
  47. movieData['size'] = torrent['size']
  48. movieData['link'] = torrent['url']
  49. prettyPrinter(movieData)
  50.  
  51. def download_torrent(self, info):
  52. """ Downloader """
  53. print(download_file(info))
  54.  
  55.  
  56. # script test
  57. if __name__ == "__main__":
  58. y = yts_am()
  59. y.search('tomb%20raider')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement