GENDISC(1)

NAME
gendisc - gendisc v0.0.3

Python versions PyPI - Version GitHub tag (with filter) License GitHub commits since latest release QA Tests Coverage Status Documentation Status mypy pre-commit pydocstyle pytest Ruff Downloads Stargazers Follow @Tatsh on Bluesky Mastodon Follow

Generate scripts to create disc ISOs from a directory structure maximising use of the available space on each disc.

COMMANDS

  gendisc

Make a file listing filling up discs.

    gendisc [OPTIONS] PATH

Options

--cross-fs
    Allow crossing file systems.

-D, --drive <drive>
    Drive path.

-d, --debug
    Enable debug logging.

-i, --starting-index <INDEX>
    Index to start with (defaults to 1).

-o, --output-dir <output_dir>
    Output directory. Will be created if it does not exist.

-p, --prefix <prefix>
    Prefix for volume ID and files.

-r, --delete
    Unlink instead of sending to trash.

--no-labels
    Do not create labels.

    Arguments

PATH
    Required argument

  Output

The output consists of a series of shell scripts (1 for each disc) that perform the following steps:

•   Generate the ISO image for the current set using mkisofs.

•   Save a SHA256 checksum of the image for verification.

•   Save a directory tree listing (requires tree).

•   Save a file listing using find.

•   Prompt to insert a blank disc.

•   Burn the image to disc using cdrecord (default speed: 4x).

•   Eject and re-insert the disc.

•   Verify the disc.

•   Delete or move the source files to the bin.

•   Eject the disc.

•   Prompt to move the disc to a label printer.

    If mogrify (ImageMagick) is installed, a label will be generated. This label can be opened in a tool that supports disc printing (such as GIMP). In GIMP, set the Width and Height to 12 cm in Image Settings in the print dialogue before printing. I am using an Epson XP-7100 printer for this purpose.

LABEL GENERATION

  genlabel

Generate an image intended for printing on disc consisting of text in a spiral.

    genlabel [OPTIONS] [TEXT]...

Options

-E, --end-theta <end_theta>
    End theta.

-H, --height <height>
    Height of the image.

-S, --space-per-loop <space_per_loop>
    Space per loop.

-T, --start-theta <start_theta>
    Start theta.

-V, --view-box <view_box>
    SVG view box.

--dpi <dpi>
    Dots per inch.

--keep-svg
    When generating the PNG, keep the SVG file.

-c, --center <center>
    Center of the spiral.

-f, --font-size <font_size>
    Font size.

-g, --svg
    Output SVG.

-o, --output <output>
    Output file name.

-r, --start-radius <start_radius>
    Start radius.

-t, --theta-step <theta_step>
    Theta step.

-w, --width <width>
    Width of the image.

    Arguments

TEXT
    Optional argument(s)

AUTHOR
Andrew Udvare <audvare@gmail.com>

COPYRIGHT
2025