Files
Barış Keser 0fb3e54316 Refactor and enhance Jikan client and sources
- Updated JikanCache and JikanClient classes to use Optional types for parameters.
- Improved error handling and dynamic video ID fetching in animecix.py.
- Removed unused Animely adapter and adjusted provider priorities.
- Cleaned up adapter.py by removing the SearchEngine class.
- Enhanced error handling and cookie management in tranime.py.
- Added direct search functionality in tranime.py to improve anime search results.
- Updated title matching logic in title_matching.py to use Optional types.
- Bumped version to 9.4.9.0.
2026-02-26 00:54:11 +03:00

56 lines
1.7 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 .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
},
"tranime": {
"name": "TRAnimeİzle",
"adapter": None,
"enabled": True,
"priority": 3
}
}
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"])