Files
ohm_streaming/app/downloaders/anime_sites/__init__.py
root 4d280b5239 docs: Update CLAUDE.md with three-tier architecture and new providers
- Added new video players: Vidzy, LuLuvid, Uqload
- Added new anime site: French-Manga
- Added new series sites category with FS7
- Updated documentation to reflect three-tier architecture (anime sites → series sites → video players)
- Added BaseSeriesSite interface documentation
- Added "Adding New Series Site" section
- Updated test organization with test_french_manga.py

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
2026-01-25 10:34:39 +00:00

36 lines
971 B
Python

"""Anime streaming sites (catalogs) downloaders"""
from .base import BaseAnimeSite
# Import all anime site downloaders
from .animesama import AnimeSamaDownloader
from .nekosama import NekoSamaDownloader
from .animeultime import AnimeUltimeDownloader
from .vostfree import VostfreeDownloader
from .frenchmanga import FrenchMangaDownloader
__all__ = [
"BaseAnimeSite",
"AnimeSamaDownloader",
"NekoSamaDownloader",
"AnimeUltimeDownloader",
"VostfreeDownloader",
"FrenchMangaDownloader",
]
def get_anime_site(url: str) -> BaseAnimeSite:
"""Factory function to get the appropriate anime site for a URL"""
sites = [
AnimeSamaDownloader(),
AnimeUltimeDownloader(),
NekoSamaDownloader(),
VostfreeDownloader(),
FrenchMangaDownloader(),
]
for site in sites:
if site.can_handle(url):
return site
# Return None if no match (should not happen in normal flow)
return None