Crates.io | porg |
lib.rs | porg |
version | 0.1.2 |
source | src |
created_at | 2024-12-11 20:34:36.321247 |
updated_at | 2024-12-11 20:41:24.067394 |
description | A command-line tool for renaming, organizing, and backing up photos to local and remote destinations |
homepage | |
repository | https://github.com/joel-hamilton/porg |
max_upload_size | |
id | 1480511 |
size | 60,743 |
porg (Photo ORGanizer) is a command-line tool for renaming, organizing, and backing up photos to local and remote destinations. It uses EXIF data to rename files and organize them into year/month folders. It supports common photo formats like JPG, CR2, and CR3.
cargo install porg
porg offers several subcommands:
porg rename --source ~/photo-dump --recursive
--source
: Path to the directory containing the photos.--recursive
: (Optional) Process subdirectories recursively.porg organize --source ~/photo-dump
--source
: Path to the directory containing the photos.porg copy-local --source ~/photo-dump --destination /Volumes/photos
--source
: Path to the directory containing the photos.--destination
: Path to the local destination directory.porg copy-remote --source ~/photo-dump --destination user@123.456.789.123:~/photos
--source
: Path to the directory containing the photos.--destination
: Address of the remote server and destination path. Format: user@server:/path/to/destination
porg parse --file /path/to/image.jpg
--file
: Path to the image file.porg can be configured using a TOML file. By default, it looks for config.toml
in the following locations:
$HOME/.config/porg/config.toml
supported_extensions = ["jpg", "JPG", "CR2", "CR3"]
date_format = "%Y%m%d_%H%M%S"
source = "/path/to/your/photos"
remote_path = "user@remote-server:/path/to/backup"
local_path = "/path/to/local/backup"
logging_level = "info"
supported_extensions
: File extensions to process.date_format
: Date format for renaming files (using strftime syntax).source
: Default source directory.remote_path
: Default remote destination path.local_path
: Default local destination path.logging_level
: Logging level ("info" or "debug").porg --config /path/to/your/config.toml <COMMAND> [OPTIONS]
Contributions are welcome! Please submit a pull request.
MIT OR Apache-2.0