Files
google-labs-jules[bot] af4c9461e8 Refactor legacy codebase into AniScrap Django platform (#45)
- Initialized 'aniscrap_core' project.
- Implemented 'users', 'content', 'billing', 'scraper_module', 'core' apps.
- Added models for Anime, Episode, VideoFile (HLS/Encrypted), User, Wallet, etc.
- Implemented Celery tasks for Video Encoding (H.265/HLS) and Revenue Distribution.
- Integrated Shopier mock payment flow.
- Configured Unfold Admin Dashboard.
- Refactored Jikan scraper client.
- Added 'init_aniscrap' management command.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-01-19 09:52:12 +00:00

60 lines
1.8 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""Kaynaklar (TürkAnime, AnimeciX, Anizle, Animely, TRAnimeİzle) için facade.
Ek sağlayıcılar bu modülden dışa aktarılır ve `register_provider`
yardımıyla sisteme kaydedilebilir.
"""
from .animecix import CixAnime, search_animecix # noqa: F401
from .anizle import AnizleAnime, search_anizle # noqa: F401
from .animely import (
AnimelyAnime,
search_animely,
get_anime_episodes as get_animely_episodes,
) # noqa: F401
from .tranime import ( # noqa: F401
TRAnimeAnime,
TRAnimeEpisode,
TRAnimeVideo,
search_tranime,
get_anime_by_slug as get_tranime_anime,
get_anime_episodes as get_tranime_episodes,
get_episode_details as get_tranime_episode_details,
set_session_cookie as set_tranime_cookie,
)
# Mevcut sağlayıcılar
PROVIDERS = {
"animecix": {
"name": "AnimeciX",
"adapter": None, # Eski sistem kullanılıyor
"enabled": True,
"priority": 1,
},
"anizle": {"name": "Anizle", "adapter": None, "enabled": True, "priority": 2},
"animely": {"name": "Animely", "adapter": None, "enabled": True, "priority": 3},
"tranime": {"name": "TRAnimeİzle", "adapter": None, "enabled": True, "priority": 4},
}
def register_provider(
name: str, adapter_class, enabled: bool = True, priority: int = 5
):
"""Yeni bir anime sağlayıcısı kaydet."""
PROVIDERS[name] = {
"name": name,
"adapter": adapter_class,
"enabled": enabled,
"priority": priority,
}
def get_enabled_providers():
"""Etkin sağlayıcıları döndür."""
return {name: data for name, data in PROVIDERS.items() if data["enabled"]}
def get_provider_by_priority():
"""Öncelik sırasına göre sağlayıcıları döndür."""
enabled = get_enabled_providers()
return sorted(enabled.items(), key=lambda x: x[1]["priority"])