whipper-team / whipper

Python CD-DA ripper preferring accuracy over speed
GNU General Public License v3.0
1.11k stars 88 forks source link

Command line flags need a way to negate/flip behavior #577

Open eharris opened 1 year ago

eharris commented 1 year ago

There are some command line flags that enable certain options, but there doesn't seem to be a way to disable that option on the command line if it is enabled in the config file.

For instance whipper cd rip --keep-going does not have a way to disable that option on the command line if it is enabled in the config file.

Example use case: I have a couple of different CD drives I use to rip, and one of them is affected by the cdparanoia bug with drives with high read offset (see #234), so I have to use the buggy version of cdparanoia to be able to use that drive. I only use that drive when I'm trying to speed up the rip process of multiple CD's, and I only keep the results if the rip is completely error free, otherwise I re-rip it in the other more reliable drive.

Because the more reliable drive is the drive I use most often, I have keep_going = True in my whipper.conf file. But when I'm using the less reliable drive, I want it to stop immediately if it has a problem since I'm not going to keep the results of that rip anyway, but there's no way currently to disable that option on the command line.

An alternative for this specific case would be to allow the keep_going option to be in the drive specific config block, and have its presence there override the one in the [whipper.cd.rip] config block.