A CLI tool for converting .cbr files to .cbz files in parallel

lotus e87a77216d Added more error logging and handling 3 weeks ago
LICENSE.md c2486a8e85 initial commit - woohoo 3 weeks ago
README.md c2486a8e85 initial commit - woohoo 3 weeks ago
cbr-convert.1 c2486a8e85 initial commit - woohoo 3 weeks ago
cbr-convert.sh e87a77216d Added more error logging and handling 3 weeks ago
makefile c2486a8e85 initial commit - woohoo 3 weeks ago
runner-cbr.sh e87a77216d Added more error logging and handling 3 weeks ago

README.md

cbr-convert

License

Motivation

The .cbr (comic book rar) file format is proprietary and doesn't play well with all comic book readers. This script will recurse a directory and convert each .cbr file found to .cbz. We divide up the work by directory and use gnu parallel to execute on each folder. After the work is complete we cleanup the old cbr files and move them to the trash folder. This tool is meant to be a one-shot to convert your whole collection. Spaces in directories or filenames are anticipated and OK 👍.

Installation

Simply run:

make install      #(as root)

# to uninstall
make uninstall    #(as root)

Dependencies

In order to use this tool, you will need these things installed:

There are no requirements to use a specific shell, but I have not tested on all of them, only ksh and bash. The above dependencies should be available in your OS's package manager (apt, pkg, portage, dnf, etc.)

Usage

cbr-convert ./MyComicsDir    # convert all cbr files found in this directory
cbr-convert -j 8 ./Deadpool  # convert using 8 threads
cbr-convert -h               # show this help message
cbr-convert -v               # show version

!!! - After conversion .cbr files are moved to trash - !!!
(Note that this will recurse down into each subdirectory)

Benchmarks

Dataset = 22GB
CPU = 4th Gen i7 Quad Core
Storage = 250 Sata III SSD

-j 1 (sequential)      -j 8 (multithreaded)
real	18m34.91s     real	5m49.69s

Conclusion:
While this tool defaults to 2 jobs, if you have more cores available, specify a higher -j value.

License / Disclaimer

This project is licensed under the ISC license. (See LICENSE.md)