NoDataFile #1

Merged
lukas.pupkalipinski merged 70 commits from NoDataFile into main 2026-01-09 18:42:18 +01:00
Showing only changes of commit 3d3b97bdc2 - Show all commits

View File

@ -121,7 +121,7 @@ For each task completed:
---
## Task: Enhanced Anime Add Flow
## Task: Enhanced Anime Add Flow ✅ COMPLETED
### Overview
@ -196,14 +196,31 @@ Enhance the anime addition workflow to automatically persist anime to the databa
### Acceptance Criteria
- [ ] When adding a new anime, it is immediately saved to the database
- [ ] When adding a new anime, only that anime is scanned for missing episodes (not full library)
- [ ] Folder is created using the sanitized display name (e.g., "Attack on Titan" not "attack-on-titan")
- [ ] Special characters in anime names are properly handled (`:`, `?`, etc.)
- [ ] Existing anime entries continue to work (backward compatibility)
- [ ] API response includes the created folder path and missing episodes count
- [ ] Unit tests cover the new functionality
- [ ] No regressions in existing tests
- [x] When adding a new anime, it is immediately saved to the database
- [x] When adding a new anime, only that anime is scanned for missing episodes (not full library)
- [x] Folder is created using the sanitized display name (e.g., "Attack on Titan" not "attack-on-titan")
- [x] Special characters in anime names are properly handled (`:`, `?`, etc.)
- [x] Existing anime entries continue to work (backward compatibility)
- [x] API response includes the created folder path and missing episodes count
- [x] Unit tests cover the new functionality
- [x] No regressions in existing tests
### Implementation Summary (Completed)
**Files Created/Modified:**
- `src/server/utils/filesystem.py` - New file with `sanitize_folder_name()`, `is_safe_path()`, `create_safe_folder()`
- `src/core/entities/series.py` - Added `sanitized_folder` property
- `src/core/entities/SerieList.py` - Updated `add()` to use sanitized folder names
- `src/core/SerieScanner.py` - Added `scan_single_series()` method
- `src/server/api/anime.py` - Enhanced `add_series` endpoint with full flow
**Tests Added:**
- `tests/unit/test_filesystem_utils.py` - 43 tests for filesystem utilities
- `tests/unit/test_serie_class.py` - 6 tests for `sanitized_folder` property
- `tests/unit/test_serie_scanner.py` - 9 tests for `scan_single_series()`
- `tests/api/test_anime_endpoints.py` - 6 integration tests for enhanced add flow
**All 97 related tests passing. No regressions in existing 848 unit tests and 60 API tests.**
### Testing Requirements