9anime episode lazy loading fix

master
Vishnunarayan K I 2018-08-09 17:34:59 +05:30
parent a7cb5faad9
commit c7a505601d
1 changed files with 10 additions and 5 deletions

View File

@ -94,17 +94,22 @@ class NineAnime(BaseAnime):
self._episodeClass.ts = ts
logging.debug('data-ts: {}'.format(ts))
episodes = soup.find_all('ul', ['episodes'])
# TODO: !HACK!
# The below code should be refractored whenever I'm not lazy.
# This was done as a fix to 9anime's switch to lazy loading of
# episodes. I'm busy and lazy now, so I'm writing bad code.
# Gomen'nasai
api_url = "https://www8.9anime.is/ajax/film/servers/{}"
api_url = api_url.format(self.url.rsplit('/', 1)[0].rsplit('.', 1)[1])
soup = BeautifulSoup(requests.get(api_url).json()['html'], 'html.parser')
episodes = soup.find('div', {'class': 'server', 'data-name': 33})
episodes = episodes.find_all('li')
if episodes == []:
err = 'No episodes found in url "{}"'.format(self.url)
args = [self.url]
raise NotFoundError(err, *args)
servers = soup.find_all('span', {'class': 'tab'})[:-3]
episodes = episodes[:int(len(episodes)/len(servers))]
episode_ids = []
for x in episodes: