From 3d3b97bdc2a6c34a8cef7c3be725391d150e76ee Mon Sep 17 00:00:00 2001 From: Lukas Date: Fri, 26 Dec 2025 12:51:26 +0100 Subject: [PATCH] docs: Mark Enhanced Anime Add Flow task as completed --- docs/instructions.md | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/docs/instructions.md b/docs/instructions.md index f90b8bd..977689e 100644 --- a/docs/instructions.md +++ b/docs/instructions.md @@ -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