# VERSION: 1.1 # AUTHORS: LightDestory (https://github.com/LightDestory) # WEBSITE DEAD import re import urllib.parse from helpers import retrieve_url, download_file from novaprinter import prettyPrinter class rarbg(object): url = 'http://www.rarbg.is/' name = 'RARBG' """ ***TLDR; It is safer to force an 'all' research*** RARBG's categories are very specific qBittorrent does not provide enough categories to implement a good filtering. For example, qBittorrent provides only a generic 'games' category meanwhile the website uses: pc, xbox and so on """ supported_categories = {'all': '0'} # RARBG's search divided into pages, so we are going to set a limit on how many pages to read max_pages = 5 class HTMLParser: def __init__(self, url): self.url = url self.pageResSize = 0 def feed(self, html): self.pageResSize = 0 torrents = self.__findTorrents(html) resultSize = len(torrents) if resultSize == 0: return else: self.pageResSize = resultSize for torrent in range(resultSize): data = { 'link': torrents[torrent][0], 'name': torrents[torrent][1], 'size': torrents[torrent][2], 'seeds': torrents[torrent][3], 'leech': torrents[torrent][4], 'engine_url': self.url, 'desc_link': urllib.parse.unquote(torrents[torrent][0]).replace("http", "https") } prettyPrinter(data) def __findTorrents(self, html): torrents = [] trs = re.findall(r'