305dd5f43e1b975ed708e9b6b4fb366ba8804c2a
- 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.
Renamer - Media File Renamer and Metadata Editor
A terminal-based (TUI) application for scanning directories, viewing media file details, and managing file metadata. Built with Python and Textual.
Features
- Recursive directory scanning for video files
- Tree view navigation with keyboard and mouse support
- File details display (size, extensions, metadata)
- Command-based interface with hotkeys
- Container type detection using Mutagen
Installation
Prerequisites
- Python 3.11+
- UV package manager
Install UV (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
Install the Application
# Clone or download the project
cd /path/to/renamer
# Install dependencies and build
uv sync
# Install as a global tool
uv tool install .
Usage
Running the App
# Scan current directory
renamer
# Scan specific directory
renamer /path/to/media/directory
Commands
- q: Quit the application
- o: Open directory selection dialog
- s: Rescan current directory
Navigation
- Use arrow keys to navigate the file tree
- Mouse clicks supported
- Select a video file to view its details in the right panel
Development
Setup Development Environment
# Install in development mode
uv sync
# Run directly (development)
uv run python main.py
# Or run installed version
renamer
Running Without Rebuilding (Development)
# Run directly from source (no installation needed)
uv run python main.py
# Or run with specific directory
uv run python main.py /path/to/directory
Uninstall
uv tool uninstall renamerq
Supported Video Formats
- .mkv
- .avi
- .mov
- .mp4
- .wmv
- .flv
- .webm
- .m4v
- .3gp
- .ogv
Dependencies
- textual: TUI framework
- mutagen: Media metadata detection
Description
Languages
Python
100%