Skip to main content

Generate disk file path lists for mkisofs.

Project description

gendisc

Python versions PyPI - Version GitHub tag (with filter) License GitHub commits since latest release (by SemVer including pre-releases) CodeQL QA Tests Coverage Status Dependabot Documentation Status mypy uv pytest Ruff Downloads Stargazers pre-commit Prettier

@Tatsh Buy Me A Coffee Libera.Chat Mastodon Follow Patreon

Generate disk file path lists for mkisofs.

Installation

Pip

pip install gendisc

Usage

Usage: gendisc [OPTIONS] PATH

  Make a file listing filling up discs.

Options:
  --cross-fs                   Allow crossing file systems.
  -D, --drive FILE             Drive path.
  -d, --debug                  Enable debug logging.
  -i, --starting-index INDEX   Index to start with (defaults to 1).  [x>=1]
  -o, --output-dir DIRECTORY   Output directory. Will be created if it does
                               not exist.
  -p, --prefix TEXT            Prefix for volume ID and files.
  -r, --delete                 Unlink instead of sending to trash.
  --no-labels                  Do not create labels.
  --cd-write-speed INTEGER     CD-R write speed.
  --dvd-write-speed INTEGER    DVD-R write speed.
  --dvd-dl-write-speed FLOAT   DVD-R DL write speed.
  --bd-write-speed INTEGER     BD-R write speed.
  --bd-dl-write-speed INTEGER  BD-R DL write speed.
  --bd-tl-write-speed INTEGER  BD-R TL write speed.
  --bd-xl-write-speed INTEGER  BD-R XL write speed.
  --preparer TEXT              Preparer string (128 characters).
  --publisher TEXT             Publisher string (128 characters).
  -h, --help                   Show this message and exit.

The output is a series of shell scripts (1 for each disc) that do the following:

  • Generate the ISO image with mkisofs for the current set.
  • Save a SHA256 sum of the image for verification.
  • Save a tree listing for later use (tree must be installed).
  • Save a file listing via find for later use.
  • Requests to insert a blank disc.
  • Uses cdrecord to burn.
  • Ejects and re-inserts the disc.
  • Verifies the disc.
  • Deletes the source files or sends them to the bin.
  • Ejects the disc.
  • Requests to move the disc to a label printer.
  • If you have GIMP installed, open it to the printer dialogue.

If you have mogrify (ImageMagick) and Inkscape installed, a label will be generated. This can be then opened in a tool that can have your printer (such as an Epson XP-7100) print to disc (GIMP). The image should be ready for printing (under Image Settings you should see it is exactly 12 cm at DPI 600).

Many of the steps above can be skipped by passing flags to the script. Currently the script supports these options:

Usage: script.sh [-h] [-G] [-K] [-k] [-O] [-P] [-s] [-S] [-V]
All flags default to no.
  -h: Show this help message.
  -G: Do not open GIMP on completion (if label file exists).
  -K: Keep ISO image after burning.
  -O: Only create ISO image.
  -P: Open GIMP in normal mode instead of batch mode.
  -S: Skip ejecting tray for blank disc (assume already inserted).
  -V: Skip verification of burnt disc.
  -k: Keep source files after burning.
  -s: Skip clean-up of .directory files.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gendisc-0.1.1.tar.gz (32.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gendisc-0.1.1-py3-none-any.whl (25.4 kB view details)

Uploaded Python 3

File details

Details for the file gendisc-0.1.1.tar.gz.

File metadata

  • Download URL: gendisc-0.1.1.tar.gz
  • Upload date:
  • Size: 32.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gendisc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 27cb9831bcdaa39ef4f1e9e02c6c5e50ccbabe4d93b886befe333bd401cbde71
MD5 032f8537f6ca4a9baa379334b82da70e
BLAKE2b-256 f67fe1c3906bdadf23d407fae0929541ccd4de7a119b6351bb149b81f4336178

See more details on using hashes here.

Provenance

The following attestation bundles were made for gendisc-0.1.1.tar.gz:

Publisher: publish.yml on Tatsh/gendisc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gendisc-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gendisc-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gendisc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9e2e34a7ad9e175c73514d0d2463c11c61e94c86b7f28bd0413ae4748d6eed4c
MD5 9bd1f3a4b4589aa5f7022de0e7b39f63
BLAKE2b-256 350f98a99749042c673b323811571010ed7db95b21fa546d01cb38dabe8e26ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for gendisc-0.1.1-py3-none-any.whl:

Publisher: publish.yml on Tatsh/gendisc

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page