Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

104 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jmoney

Disc acquisition and annotation tool. jmoney manages the physical-disc frontier: it controls drive trays, rips video discs, and annotates the resulting files.

Install

git clone https://github.com/jfindlay/jmoney.git
cd jmoney
uv sync

uv sync creates .venv/ and installs the runtime dependencies, the project itself, and the dev dependency group (pytest, pytest-mock, pytest-cov, pyfakefs, mypy, ruff). Run jmoney --help or jmoney <subcommand> --help for usage.

Subcommands

drive — tray control

Open or close a drive tray via the eject binary.

jmoney drive open   [--device /dev/sr0]
jmoney drive close  [--device /dev/sr0]

detect — disc classification

Classify the disc in the drive.

jmoney detect  [--device /dev/sr0]

rip — disc acquisition

Acquire the disc into a staging area using the appropriate backend (bd_backup, dvd_mirror, raw_image, or whipper).

jmoney rip --staging-root DIR  [--device /dev/sr0]  [--disc-type TYPE]

extract — MKV title extraction

Extract MKV titles from a staged disc directory via makemkvcon. Run after rip for video discs.

jmoney extract --staging-dir DIR  [--minlength SEC]

annotate — track adjudication

Adjudicate extracted tracks in a staging disc directory via mpv.

jmoney annotate --staging-dir DIR

Typical pipeline

jmoney rip      --staging-root ~/staging
jmoney extract  --staging-dir  ~/staging/<disc-dir>
jmoney annotate --staging-dir  ~/staging/<disc-dir>

Development

Formatting

uvx tox -m format  # ruff check --fix + ruff format (all files)

Versioning

Versions are derived from git tags via hatch-vcs. To cut a release:

git tag -a v1.0.0 -m "v1.0.0"

About

rip optical discs

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages