#VERSION: 1.0
# AUTHORS: PlutoMonkey

from html.parser import HTMLParser
from helpers import download_file, retrieve_url
from novaprinter import prettyPrinter
# some other imports if necessary
import json
from urllib.parse import urlparse
from urllib.parse import parse_qs

class subsplease(object):
    url = 'https://subsplease.org/'
    name = 'SubsPlease'
    supported_categories = {'all': ''}

    def search(self, what, cat='all'):
        for page in range(6):
            search_url = f"https://subsplease.org/api/?f=search&tz=$&s={what}&p={page}"
            response = retrieve_url(search_url)
            response_json = json.loads(response)
            
            for result_name, result_data in response_json.items():
                for download in result_data["downloads"]:
                    magnet_link = download["magnet"]
                    parsed_url = urlparse(magnet_link)
                    size = parse_qs(parsed_url.query)['xl'][0]
                    
                    res = {'link': magnet_link,
                        'name': f"[SubsPlease] {result_name} ({download['res']}p)",
                        'size': size,
                        'seeds': '-1',
                        'leech': '-1',
                        'engine_url': search_url,
                        'desc_link': '-1'}
                    prettyPrinter(res)