Switch to dynamic import

master
Vishnunarayan K I 2018-06-24 23:41:30 +05:30
parent 21e725b20c
commit 1c8ae49b9c
5 changed files with 15 additions and 22 deletions

View File

@ -1 +1 @@
from .init import ALL_ANIME_CLASSES, get_anime_class
from .init import get_anime_class

View File

@ -20,7 +20,7 @@ class GogoanimeEpisode(BaseEpisode):
self.stream_url = self._stream_urls[0]
class Gogoanime(BaseAnime):
class GogoAnime(BaseAnime):
sitename = 'gogoanime'
QUALITIES = ['360p', '480p', '720p']
_api_url = 'https://www2.gogoanime.se//load-list-episode?ep_start=1&'\

View File

@ -1,23 +1,16 @@
from anime_downloader.sites.anime import BaseAnime
from anime_downloader.sites.nineanime import NineAnime
from anime_downloader.sites.gogoanime import Gogoanime
from importlib import import_module
try:
from anime_downloader.sites.kissanime import Kissanime
from anime_downloader.sites.kisscartoon import Kisscarton
except ImportError:
CFSCRAPE = False
import inspect
ALL_ANIME_CLASSES = [
anime
for name, anime in globals().items()
if inspect.isclass(anime) and issubclass(anime, BaseAnime) and not name.startswith('Base')
ALL_ANIME_SITES = [
# ('filename', 'sitename', 'classname')
('nineanime', '9anime', 'NineAnime'),
('gogoanime', 'gogoanime', 'GogoAnime'),
('kissanime', 'kissanime', 'KissAnime'),
('kisscartoon', 'kisscartoon', 'KissCartoon'),
]
def get_anime_class(url):
for cls in ALL_ANIME_CLASSES:
if cls.verify_url(url):
return cls
for site in ALL_ANIME_SITES:
if site[1] in url:
module = import_module('anime_downloader.sites.{}'.format(site[0]))
return getattr(module, site[2])

View File

@ -41,7 +41,7 @@ class KissanimeEpisode(BaseEpisode):
return data
class Kissanime(BaseAnimeCF):
class KissAnime(BaseAnimeCF):
sitename = 'kissanime'
QUALITIES = ['360p', '480p', '720p']
_episodeClass = KissanimeEpisode

View File

@ -26,7 +26,7 @@ class KisscartoonEpisode(BaseEpisode):
'Episode')[-1].split('?')[0]
class Kisscarton(Kissanime):
class KissCarton(Kissanime):
sitename = 'kisscartoon'
_episodeClass = KisscartoonEpisode