Files
renamer/README.md
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

100 lines
1.8 KiB
Markdown

# 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)
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### Install the Application
```bash
# 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
```bash
# 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
```bash
# Install in development mode
uv sync
# Run directly (development)
uv run python main.py
# Or run installed version
renamer
```
### Running Without Rebuilding (Development)
```bash
# 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
```bash
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