Adding Anime Frenzy (#431)

* Create animixplay.py

* Update init.py

Co-authored-by: Blatzar <46196380+Blatzar@users.noreply.github.com>
master
nate-moo 2020-07-10 19:37:50 -04:00 committed by GitHub
parent e15efa2cc5
commit 590f4a341c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 60 additions and 2 deletions

View File

@ -31,6 +31,9 @@ DEFAULT_CONFIG = {
'provider': 'twist.moe',
},
"siteconfig": {
'animefrenzy': {
"version": "subbed"
},
'animixplay': {
"server": "vidstream",
},

View File

@ -0,0 +1,55 @@
from anime_downloader.sites.anime import Anime, AnimeEpisode, SearchResult
from anime_downloader.sites import helpers
import json
import re
import logging
logger = logging.getLogger(__name__)
class AnimeFrenzy(Anime, sitename='animefrenzy'):
sitename='animefrenzy'
@classmethod
def search(cls, query):
r = helpers.get("https://animefrenzy.net/search", params = {"q": query})
soup = helpers.soupify(r)
titleName = soup.select("div.conm > a.cona")
search_results = [
SearchResult(
title = a.text,
url = 'https://animefrenzy.net/' + a.get('href')
)
for a in titleName
]
return(search_results)
def _scrape_episodes(self):
soup = helpers.soupify(helpers.get(self.url))
lang = self.config.get("version")
if lang == "subbed":
ep_list = [x for x in soup.select("div.sub1 > a")]
elif lang == "dubbed":
ep_list = [x for x in soup.select("div.dub1 > a")]
else:
logger.warning("Wrong Language Setting, Defaulting to Subbed")
ep_list = [x for x in soup.select("div.sub1 > a")]
episodes = ["https://animefrenzy.net" + x.get("href") for x in ep_list]
if len(episodes) == 0:
logger.warning("No Episodes available, if lang is \"dubbed\" try switching to subbed")
return episodes[::-1]
# raise NotImplementedError
def _scrape_metadata(self):
soup = helpers.soupify(helpers.get(self.url))
self.title = soup.select_one("div.infodes > h1").text
class AnimeFrenzyEpisode(AnimeEpisode, sitename='animefrenzy'):
def _get_sources(self):
logger.debug(self.url)
soup = helpers.soupify(helpers.get(self.url))
link = soup.select_one("div.host > a.btn-video")
logger.debug(link)
return [("vidstreaming", link.get("data-video-link"))]
# raise NotImplementedError

View File

@ -31,10 +31,10 @@ ALL_ANIME_SITES = [
('vostfree', 'vostfree', 'VostFree'),
('voiranime','voiranime','VoirAnime'),
('vidstream','vidstream','VidStream'),
('animixplay','animixplay','AniMixPlay')
('animixplay','animixplay','AniMixPlay'),
('animefrenzy','animefrenzy','AnimeFrenzy')
]
def get_anime_class(url):
"""
Get anime class corresposing to url or name.