Commit Graph

45 Commits

Author SHA1 Message Date
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
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
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
dafccf19cc Refactor code structure for improved readability and maintainability 2025-12-28 14:08:04 +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
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
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
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
1453b753d0 feat: Update documentation and project files to reflect enhanced renaming functionality and new features 2025-12-26 23:14:56 +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
4e7cf94d58 feat: add pytest configuration and implement tests for file and metadata extraction 2025-12-25 03:42:47 +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
sHa
8f3cd517f3 Add initial project structure with core functionality 2025-12-25 00:05:16 +00:00