Remove Shikimori API, use AnimeThemes only, switch to WebM format

- Remove ShikimoriService, use AnimeThemes API for search
- Replace shikimori_id with animethemes_slug as primary identifier
- Remove FFmpeg MP3 conversion, download WebM directly
- Add .webm support in storage and upload endpoints
- Update frontend to use animethemes_slug

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2026-01-12 11:22:46 +03:00
parent 333de65fbd
commit cc11f0b773
12 changed files with 138 additions and 263 deletions

View File

@@ -126,6 +126,7 @@ async def get_audio(filename: str):
".wav": "audio/wav",
".ogg": "audio/ogg",
".m4a": "audio/mp4",
".webm": "video/webm",
}
media_type = media_types.get(suffix, "audio/mpeg")
@@ -284,7 +285,7 @@ async def upload_audio(files: List[UploadFile] = File(...)):
"""Upload audio files to S3."""
results = []
for file in files:
if not file.filename.lower().endswith((".mp3", ".wav", ".ogg", ".m4a")):
if not file.filename.lower().endswith((".mp3", ".wav", ".ogg", ".m4a", ".webm")):
results.append({"filename": file.filename, "success": False, "error": "Invalid file type"})
continue