Files
ohm_streaming/app/downloaders/video_players/__init__.py
T
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

54 lines
1.5 KiB
Python

"""Video hosting services (players) downloaders"""
from .base import BaseVideoPlayer
# Import all video player downloaders
from .doodstream import DoodStreamDownloader
from .sibnet import SibnetDownloader
from .vidmoly import VidMolyDownloader
from .sendvid import SendVidDownloader
from .lpayer import LpayerDownloader
from .unfichier import UnFichierDownloader
from .uptobox import UptoboxDownloader
from .rapidfile import RapidFileDownloader
from .vidzy import VidzyDownloader
from .luluv import LuLuvidDownloader
from .uqload import UqloadDownloader
__all__ = [
"BaseVideoPlayer",
"DoodStreamDownloader",
"SibnetDownloader",
"VidMolyDownloader",
"SendVidDownloader",
"LpayerDownloader",
"UnFichierDownloader",
"UptoboxDownloader",
"RapidFileDownloader",
"VidzyDownloader",
"LuLuvidDownloader",
"UqloadDownloader",
]
def get_video_player(url: str) -> BaseVideoPlayer:
"""Factory function to get the appropriate video player for a URL"""
players = [
DoodStreamDownloader(),
SibnetDownloader(),
VidMolyDownloader(),
SendVidDownloader(),
LpayerDownloader(),
UnFichierDownloader(),
UptoboxDownloader(),
RapidFileDownloader(),
VidzyDownloader(),
LuLuvidDownloader(),
UqloadDownloader(),
]
for player in players:
if player.can_handle(url):
return player
# Return None if no match (should not happen in normal flow)
return None