Commit Graph

96 Commits

Author SHA1 Message Date
sHa
1373b4c5db Refactor code structure for improved readability and maintainability 2026-01-04 21:05:00 +00:00
sHa
5328949d6a Refactor code structure for improved readability and maintainability 2026-01-04 20:58:28 +00:00
sHa
336b030a6b refactor: Consolidate text color decorators and update related properties 2026-01-04 20:49:55 +00:00
sHa
3f8b158135 update bitrate calculation in TrackFormatter 2026-01-04 18:38:54 +00:00
sHa
442bde73e5 feat: Implement poster rendering options with ASCII, Viu, and RichPixels support 2026-01-04 18:35:30 +00:00
sHa
9b353a7e7e feat: Update ToDo list with MKV metadata editing capabilities and bump version to 0.7.10 2026-01-04 17:10:34 +00:00
sHa
0c3a173819 refactor: Remove FormatterApplier class and update related imports and tests 2026-01-04 15:13:48 +00:00
sHa
cffd68c687 fix: Update scan commands and key bindings for improved usability 2026-01-04 14:33:31 +00:00
sHa
e4314f1587 fix: Update conversion service and UI to support MP4 files in conversion process 2026-01-04 13:41:35 +00:00
sHa
13d610b1c3 fix: Update conversion service to support WebM files and improve documentation 2026-01-04 13:15:32 +00:00
sHa
ae44976bcc feat: Add HEVC encoding options and support for MPG/MPEG formats in conversion 2026-01-04 12:33:36 +00:00
sHa
3902dae435 Refactor code structure for improved readability and maintainability 2026-01-03 20:47:17 +00:00
sHa
faeda55dca Refactor code structure for improved readability and maintainability 2026-01-03 20:29:24 +00:00
sHa
5e4ab232ee fix: Improve poster handling in catalog formatting and ensure proper output rendering 2026-01-03 19:44:19 +00:00
sHa
65d9759880 chore: Update version to 0.7.1 and improve poster display using viu 2026-01-03 19:40:24 +00:00
sHa
390e8e8f83 fix convert error, improoved tmdb data retrive 2026-01-03 19:19:47 +00:00
sHa
24f31166d3 remove old releses 2026-01-03 16:40:08 +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
0ec1fbe4db feat: Add genre extraction to media properties and icons to tree 2026-01-03 15:34:27 +00:00
sHa
ef1e1e06ca feat: Add delete file functionality with confirmation screen 2026-01-03 15:08:48 +00:00
sHa
b45e629825 Refactor code structure for improved readability and maintainability 2026-01-03 14:54:50 +00:00
sHa
6fee7d9f63 Add ConversionService for AVI to MKV remux with metadata preservation
- Implemented a new service to convert AVI files to MKV format while preserving metadata.
- Added methods for validating AVI files, detecting subtitle files, and mapping audio languages.
- Built ffmpeg command for fast remuxing without re-encoding.
- Included error handling and logging for conversion processes.
2026-01-03 14:29:30 +00:00
sHa
917d25b360 Add decorators for formatting various media attributes
- Introduced `DurationDecorators` for full and short duration formatting.
- Added `ExtensionDecorators` for formatting extension information.
- Created `ResolutionDecorators` for formatting resolution dimensions.
- Implemented `SizeDecorators` for full and short size formatting.
- Enhanced `TextDecorators` with additional formatting options including blue and grey text, URL formatting, and escaping rich markup.
- Developed `TrackDecorators` for formatting video, audio, and subtitle track data.
- Refactored `MediaPanelView` to utilize a new `MediaPanelProperties` class for cleaner property management and formatting.
- Updated `media_panel_properties.py` to include formatted properties for file info, TMDB data, metadata extraction, media info extraction, and filename extraction.
- Bumped version to 0.6.5 in `uv.lock`.
2026-01-03 10:13:17 +00:00
sHa
6bca3c224d Refactor code structure for improved readability and maintainability 2026-01-02 12:45:31 +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
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