# Draft: Anime-Sama Player Fallback System ## Requirements - **Mode**: Automatique - essayer tous les players jusqu'à en trouver un qui fonctionne - **Success Criterion**: Test téléchargement (télécharger un petit chunk pour vérifier) - **Workflow**: Si le player détecté échoue, essayer VidMoly, SendVid, Sibnet, etc. automatiquement ## Technical Decisions ### Player Priority Order (for Anime-Sama fallback) 1. VidMoly - most reliable 2. SendVid - second most reliable 3. Sibnet - third 4. Lpayer - last (requires Playwright, slower) ### Success Detection - Download first 10KB of the video - If successful (200 OK, valid data), consider player working - Cache which player works for future episodes ### Implementation Approach 1. Add `get_download_link_with_fallback()` method in `AnimeSamaDownloader` 2. Test each player by downloading first 10KB 3. Use first player that returns valid data 4. Cache working player per anime URL/series ## Scope - INCLUDE: Anime-Sama downloader with automatic player fallback - INCLUDE: Video URL validation via chunk download test - INCLUDE: Player caching for performance - EXCLUDE: Frontend UI changes (backend only) - EXCLUDE: Other anime sites (Anime-Sama only for now) ## Files to Modify - `app/downloaders/anime_sites/animesama.py` - Add fallback logic - `app/downloaders/base.py` - May need base helper method