Commit Graph
30 Commits
Author SHA1 Message Date
sha 0c3a173819 refactor: Remove FormatterApplier class and update related imports and tests 2026-01-04 15:13:48 +00:00
sha 4e9200b8d1 Refactor code structure for improved readability and maintainability 2026-01-03 16:35:18 +00:00
sha 06cf206c70 feat: Enhance title normalization by replacing dots with spaces and add test case for multi-dot filenames 2026-01-03 16:13:50 +00:00
sha a85ecdb52d fix: Increase width tolerance for frame class matching to accommodate ultrawide aspect ratios 2026-01-02 12:43:55 +00:00
sha 981000793f Add ProposedFilenameView and MediaPanelView with comprehensive tests
- Implemented ProposedFilenameView to generate standardized filenames using a decorator pattern.
- Created MediaPanelView to assemble media data panels for display, aggregating multiple formatters.
- Added tests for ProposedFilenameView covering various formatting scenarios, including basic, minimal, and special cases.
- Introduced a views package to organize and expose the new views.
- Ensured proper formatting and display of media information, including file info, TMDB data, and track information.
2026-01-02 12:29:04 +00:00
sha e64aaf320b chore: Bump version to 0.6.1 and update decorators to use new cache system 2026-01-02 11:01:08 +00:00
sha 60f32a7e8c refactor: Remove old decorators and integrate caching into the new cache subsystem
- Deleted the `renamer.decorators` package, including `caching.py` and `__init__.py`, to streamline the codebase.
- Updated tests to reflect changes in import paths for caching decorators.
- Added a comprehensive changelog to document major refactoring efforts and future plans.
- Introduced an engineering guide detailing architecture, core components, and development setup.
2026-01-02 08:12:28 +00:00
sha 262c0a7b7d Add comprehensive tests for formatter classes, services, and utilities
- Introduced tests for various formatter classes including TextFormatter, DurationFormatter, SizeFormatter, DateFormatter, and more to ensure correct formatting behavior.
- Added tests for service classes such as FileTreeService, MetadataService, and RenameService, covering directory validation, metadata extraction, and file renaming functionalities.
- Implemented utility tests for LanguageCodeExtractor, PatternExtractor, and FrameClassMatcher to validate their extraction and matching capabilities.
- Updated test cases to use datasets for better maintainability and clarity.
- Enhanced error handling tests to ensure robustness against missing or invalid data.
2025-12-31 14:04:33 +00:00
sha b50b9bc165 feat(cache): Implement unified caching subsystem with decorators, strategies, and management
- Added core caching functionality with `Cache` class supporting in-memory and file-based caching.
- Introduced `CacheManager` for high-level cache operations and statistics.
- Created various cache key generation strategies: `FilepathMethodStrategy`, `APIRequestStrategy`, `SimpleKeyStrategy`, and `CustomStrategy`.
- Developed decorators for easy method caching: `cached`, `cached_method`, `cached_api`, and `cached_property`.
- Implemented type definitions for cache entries and statistics.
- Added comprehensive tests for cache operations, strategies, and decorators to ensure functionality and backward compatibility.
2025-12-31 02:29:10 +00:00
sha 6121311444 Add Ice Age: Continental Drift (2012) BDRip file to test filenames 2025-12-30 23:40:48 +00:00
sha 6b343681a5 feat: Bump version to 0.5.5 and update frame class detection logic 2025-12-30 06:31:51 +00:00
sha 6694567ab4 Add unit tests for MediaInfo frame class detection
- Created a JSON file containing various test cases for different video resolutions and their expected frame classes.
- Implemented a pytest test script that loads the test cases and verifies the frame class detection functionality of the MediaInfoExtractor.
- Utilized mocking to simulate the behavior of the MediaInfoExtractor and its video track attributes.
2025-12-29 22:03:41 +00:00
sha eedc32bf31 feat: Update version to 0.4.7 and add new extraction methods for anamorphic, extension, and 3D layout 2025-12-28 17:06:29 +00:00
sha ad78abe30b feat: Enhance FilenameExtractor to support various filename formats and add comprehensive test cases 2025-12-28 14:07:06 +00:00
sha 2237f8515c feat: Bump version to 0.4.4, add logging for file renaming operations, and update test filenames 2025-12-28 10:09:26 +00:00
sha fe4c0a4a58 feat: Bump version to 0.3.1, update filename extraction logic, and enhance rename confirmation screen 2025-12-28 07:14:39 +00:00
sha 229478ce64 feat: Enhance frame class extraction logic to include width matching and update test assertions 2025-12-27 05:49:56 +00:00
sha de56de7dd0 feat: Increase height threshold for frame class extraction and add test file 2025-12-27 05:32:15 +00:00
sha e87769f44b feat: Bump version to 0.2.11, update media info extraction logic and add test file 2025-12-27 04:11:17 +00:00
sha 9877be17a3 feat: Bump version to 0.2.9, enhance frame class extraction and add build script 2025-12-27 04:02:32 +00:00
sha f2060b4a92 feat: Bump version to 0.2.5, enhance logging, normalize Cyrillic characters, and improve database info formatting 2025-12-27 02:55:34 +00:00
sha 2dce807984 feat: Introduce DefaultExtractor for fallback values and refactor extraction logic in MediaExtractor 2025-12-26 19:10:49 +00:00
sha aec31bae9e feat: Add audio languages and tracks extraction from filename, with corresponding tests 2025-12-26 15:37:57 +00:00
sha c5ab985440 feat: Add movie database identifier extraction and update related tests 2025-12-26 14:34:58 +00:00
sha 38e3f0e553 feat: Improve title extraction logic and add comprehensive test cases for edge cases 2025-12-26 14:06:40 +00:00
sha 3ecffc0d3c feat: Add HDR extraction from filename and update tests 2025-12-26 13:51:12 +00:00
sha 91df347727 feat: Enhance metadata extraction and formatting, improve extractor architecture, and update documentation 2025-12-26 13:38:17 +00:00
sha 1d6eb9593e feat: Refactor formatting and extraction logic
- Added `langcodes` dependency for improved language handling.
- Replaced `ColorFormatter` with `TextFormatter` for consistent text styling across the application.
- Introduced `TrackFormatter` for better track information formatting.
- Updated `MediaFormatter` to utilize new formatting methods and improved data handling.
- Refactored `MediaExtractor` to enhance data extraction logic and improve readability.
- Removed deprecated `ColorFormatter` methods and replaced them with `TextFormatter` equivalents.
- Added new methods for extracting and formatting audio and subtitle tracks.
- Updated tests to reflect changes in the extraction logic and formatting.
2025-12-26 11:33:24 +00:00
sha 37efdf60d3 feat: add frame class extraction and formatting for media files 2025-12-25 05:13:56 +00:00
sha 4e7cf94d58 feat: add pytest configuration and implement tests for file and metadata extraction 2025-12-25 03:42:47 +00:00