Skip to content

Commit

Permalink
Merge pull request #707 from anime-dl/ArjixWasTaken-shiro-patch
Browse files Browse the repository at this point in the history
Fix shiro
  • Loading branch information
ArjixWasTaken committed Aug 3, 2021
2 parents a77520a + b2538ef commit eef5423
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions anime_downloader/sites/shiro.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,29 @@ def get_token():
token = re.search(r'token\:\"(.*?)\"', script)[1]
return token

def get_api_url():
return "https://tapi.shiro.is"

class Shiro(Anime, sitename='shiro'):
sitename = 'shiro'

@classmethod
def search(cls, query):
cls.token = get_token()
cls.api_url = get_api_url()

params = {
'search': query,
'token': cls.token
}
results = helpers.get('https://ani.api-web.site/advanced', params=params).json()['data'] # noqa
results = helpers.get(f'{cls.api_url}/advanced', params=params).json()['data'] # noqa
if 'nav' in results:
results = results['nav']['currentPage']['items']
search_results = [
SearchResult(
title=i['name'],
url='https://shiro.is/anime/' + i['slug'],
poster='https://ani-cdn.api-web.site/' + i['image'],
poster=f'{cls.api_url}/' + i['image'],
meta={'year': i['year']},
meta_info={
'version_key_dubbed': '(Sub)' if i['language'] == 'subbed' else '(Dub)' # noqa
Expand All @@ -46,17 +50,19 @@ def search(cls, query):

def _scrape_episodes(self):
self.token = get_token()
self.api_url = get_api_url()

slug = self.url.split('/')[-1]
if 'episode' in slug:
api_link = 'https://ani.api-web.site/anime-episode/slug/' + slug
api_link = f'{self.api_url}/anime-episode/slug/' + slug
r = helpers.get(api_link, params={'token': self.token}).json()
slug = r['data']['anime_slug']
api_link = 'https://ani.api-web.site/anime/slug/' + slug
api_link = f'{self.api_url}/anime/slug/' + slug
r = helpers.get(api_link, params={'token': self.token}).json()
if r['status'] == 'Found':
episodes = r['data']['episodes']
episodes = [
'https://ani.googledrive.stream/vidstreaming/vid-ad/' + x['videos'][0]['video_id'] # noqa
"https://cherry.subsplea.se/" + x['videos'][0]['video_id'] # noqa
for x in episodes
]
return episodes
Expand All @@ -65,18 +71,21 @@ def _scrape_episodes(self):

def _scrape_metadata(self):
self.token = get_token()
self.api_url = get_api_url()


slug = self.url.split('/')[-1]
if 'episode' in slug:
api_link = 'https://ani.api-web.site/anime-episode/slug/' + slug
api_link = f'{self.api_url}/anime-episode/slug/' + slug
r = helpers.get(api_link, params={'token': self.token}).json()
slug = r['data']['anime_slug']
api_link = 'https://ani.api-web.site/anime/slug/' + slug
api_link = f'{self.api_url}/anime/slug/' + slug
r = helpers.get(api_link, params={'token': self.token}).json()
self.title = r['data']['name']


class ShiroEpisode(AnimeEpisode, sitename='shiro'):
def _get_sources(self):
r = helpers.get(self.url).text
link = re.search(r'\"file\"\:\"(.*?)\"', r)[1]
r = helpers.get(self.url, referer="https://shiro.is/").text
link = re.search(r'source\s+src=\"(.*?)\"', r)[1]
return [('no_extractor', link)]

0 comments on commit eef5423

Please sign in to comment.