Commit Graph

70 Commits

Author SHA1 Message Date
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
7c7e9ab1e1 Refactor code structure and remove redundant code blocks for improved readability and maintainability 2026-01-02 07:14:33 +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
c5fbd367fc Add rename service and utility modules for file renaming operations
- Implemented RenameService for handling file renaming with features like name validation, proposed name generation, conflict detection, and atomic rename operations.
- Created utility modules for language code extraction, regex pattern matching, and frame class matching to centralize common functionalities.
- Added comprehensive logging for error handling and debugging across all new modules.
2025-12-31 03:13:26 +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
3fbf45083f feat: Update documentation and versioning for v0.6.0; enhance AI assistant reference 2025-12-31 00:21:01 +00:00
sHa
6121311444 Add Ice Age: Continental Drift (2012) BDRip file to test filenames 2025-12-30 23:40:48 +00:00
sHa
c4777352e9 Refactor code structure for improved readability and maintainability 2025-12-30 11:23:33 +00:00
sHa
fe11dc45f1 fix: Sanitize title and new name inputs by replacing invalid characters 2025-12-30 11:10:38 +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
a7682bcd24 Refactor code structure for improved readability and maintainability 2025-12-29 22:18:20 +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
e0637e9981 fix: Remove unused resolution frame class method from formatter order 2025-12-29 20:10:34 +00:00
sHa
50de7e1d4a added media catalog mode, impooved cache 2025-12-29 19:47:55 +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
75339ee7f7 Refactor code structure for improved readability and maintainability 2025-12-28 16:29:49 +00:00
sHa
665991f1bd fix: Correct special info formatting in ProposedNameFormatter 2025-12-28 16:29:10 +00:00
sHa
fedcf15ad8 feat: Add mk3d media type to MEDIA_TYPES for Matroska 3D support 2025-12-28 15:42:22 +00:00
sHa
dafccf19cc Refactor code structure for improved readability and maintainability 2025-12-28 14:08:04 +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
c2a037d5b9 feat: Bump version to 0.4.3, add TMDB as a title source, and update lock files 2025-12-28 09:11:52 +00:00
sHa
e676b13c0a chore: Remove old wheel files for versions 0.2.10, 0.2.11, 0.2.12, 0.3.1, and 0.3.2 2025-12-28 09:10:02 +00:00
sHa
c2772f9946 feat: Bump version to 0.4.2, update TMDBExtractor to include original language in title, and adjust media formatter value formatters 2025-12-28 09:09:23 +00:00
sHa
9a78dc2540 Add TMDBExtractor class for movie information extraction
- Implement TMDBExtractor to fetch movie details from The Movie Database (TMDB) API.
- Include caching mechanism for API responses to reduce redundant requests.
- Extract movie database ID from filenames using regex patterns.
- Add methods to extract TMDB ID, title, original title, release year, and TMDB URL.
- Create secrets.py to store TMDB API key and access token.
- Add a sample MKV file for testing purposes.
2025-12-28 09:02:42 +00:00
sHa
97bacf602c feat: Bump version to 0.3.3, update special editions structure, and enhance filename extraction logic 2025-12-28 07:33:37 +00:00
sHa
3b7ab1d54e feat: Bump version to 0.3.2 and update related files 2025-12-28 07:21:48 +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
8ceea5bce3 feat: Remove outdated wheel files for versions 0.2.5 to 0.2.9 2025-12-27 05:32:45 +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
b2144a1014 feat: Bump version to 0.2.10, update constants and enhance source dictionary 2025-12-27 04:05:04 +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
a2d5fa8dde feat: Bump version to 0.2.8, escape filenames in rename confirmation screen 2025-12-27 03:36:08 +00:00
sHa
e9153d2225 feat: Bump version to 0.2.7, enhance frame class extraction logic for better matching 2025-12-27 03:24:40 +00:00
sHa
140b88c0a8 feat: Bump version to 0.2.6, update release process, and modify dependency sync command 2025-12-27 03:16:57 +00:00
sHa
c0ce9c8848 feat: Add developer guide, enhance versioning and release process, and refactor extractor imports 2025-12-27 03:14:11 +00:00
sHa
649ea7fbb3 feat: Add database info formatting to proposed filename generation 2025-12-27 02:58:30 +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
95cbaee7fa feat: Update version to 0.2.4, enhance logging capabilities, and improve special info formatting 2025-12-27 01:31:21 +00:00
sHa
44a6a978b8 feat: Bump version to 0.2.3, add VHSRecord to SOURCE_DICT, and include new wheel file 2025-12-27 00:25:59 +00:00
sHa
39841b2c0b feat: Refactor main.py into renamer directory and update script entry point in pyproject.toml 2025-12-26 23:49:36 +00:00
sHa
d5e3661860 feat: Update version to 0.2.2, enhance installation guide, and improve help screen with dynamic versioning 2025-12-26 23:46:46 +00:00
sHa
cec8bd9e96 feat: Update .gitignore to exclude distribution files and add new .whl file 2025-12-26 23:35:10 +00:00
sHa
3d13b8ba19 feat: Update AI_AGENT.md with enhanced code structure details and new component descriptions 2025-12-26 23:16:32 +00:00
sHa
1453b753d0 feat: Update documentation and project files to reflect enhanced renaming functionality and new features 2025-12-26 23:14:56 +00:00
sHa
a6507dec31 feat: Enhance renamer app with help screen, rename confirmation, and special info formatting 2025-12-26 23:11:16 +00:00