# Dependencies
import re
import requests
from urllib.parse import quote_plus as urlencode
# Assets
from core.provider import Provider
search_expr = '\s*'
'\s*')
#'
.+
\s*'
#'
.+\s*'
#'
\s*'
#'
')
class hianime(Provider):
_NAME = 'HiAnime'
_BOOTSTRAP = 'https://hianime.tv'
def __init__(self) -> None:
pass
def GetMirrors(self) -> list[str]:
content = requests.get('https://hianime.tv').text
expr = ''
# for some reason hianime doesn't advertise `hianime.to` as a mirror
matches = re.findall(expr, content)
if 'https://hianime.to' not in matches:
matches.append('https://hianime.to')
return matches
def SearchAnime(self, mirror: str, query: str) -> list[str]: #-> list[Anime]:
urlsafe_query = urlencode(query)
url = f'{mirror}/search?keyword={urlsafe_query}&sort=default'
content = requests.get(url).text
#print(content)
matches = re.findall(search_expr, content)
return matches