Commit Graph
29 Commits
Author SHA1 Message Date
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 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 7c7e9ab1e1 Refactor code structure and remove redundant code blocks for improved readability and maintainability 2026-01-02 07:14: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 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 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 665991f1bd fix: Correct special info formatting in ProposedNameFormatter 2025-12-28 16:29:10 +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 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 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 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 a6507dec31 feat: Enhance renamer app with help screen, rename confirmation, and special info formatting 2025-12-26 23:11:16 +00:00
sha 691d1e7b2d feat: Add extraction and formatting for special edition information in filenames 2025-12-26 20:56:22 +00:00
sha b21308c7b8 feat: Add order extraction from filename and integrate into proposed name formatting 2025-12-26 20:42:52 +00:00
sha c5ab985440 feat: Add movie database identifier extraction and update related tests 2025-12-26 14:34:58 +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 6d377c9871 feat: Add duration extraction and formatting utilities 2025-12-26 12:02:36 +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 d2ec235458 Refactor extractors and formatters for improved structure and functionality
- Converted static methods to instance methods in FileInfoExtractor and FilenameExtractor for better encapsulation.
- Enhanced MediaInfoExtractor to initialize with file path and extract media information upon instantiation.
- Updated MetadataExtractor to handle metadata extraction with improved error handling and added methods for meta type detection.
- Introduced ColorFormatter for consistent text formatting across the application.
- Refactored MediaFormatter to utilize the new extractor structure and improve output formatting.
- Removed redundant utility functions and replaced them with direct calls in extractors.
- Added ProposedNameFormatter for better handling of proposed filename formatting.
- Updated extension handling to use MEDIA_TYPES for descriptions instead of VIDEO_EXT_DESCRIPTIONS.
2025-12-25 23:35:59 +00:00
sha 37efdf60d3 feat: add frame class extraction and formatting for media files 2025-12-25 05:13:56 +00:00
sha 305dd5f43e feat: restructure renamer package and implement media extraction features
- Updated `pyproject.toml` to reflect new package structure.
- Created `renamer/__init__.py` to initialize the package.
- Implemented `RenamerApp` in `renamer/app.py` for the main application interface.
- Added constants for video extensions in `renamer/constants.py`.
- Developed `MediaExtractor` class in `renamer/extractor.py` for extracting metadata from media files.
- Created various extractor classes in `renamer/extractors/` for handling filename, metadata, and media info extraction.
- Added formatting classes in `renamer/formatters/` for displaying media information and proposed filenames.
- Implemented utility functions in `renamer/utils.py` for detecting file types and extracting media track information.
- Introduced `OpenScreen` in `renamer/screens.py` for user input of directory paths.
- Enhanced error handling and user feedback throughout the application.
2025-12-25 03:10:40 +00:00