-
Notifications
You must be signed in to change notification settings - Fork 109
The function _ripIfNotRipped in cd.py is broken #681
Description
Whipper looks to have a design which can continue ripping CDs which have been partially ripped when there are .flac or .wav files in the right path without a .log file to indicate a finished rip.
However the current logic is severely missing important information.
Currently the function _ripIfNotRipped takes an argument for the track number to rip. It creates a new trackResult object for it and figures out what the file path for the track should be. If it finds a flac/wav file already there then it compares the found file's CRC32 to.. a non-existant CRC32 of None.
As the CRC32 checksum comparison is always a mismatch even for good tracks all tracks are always reripped and no previous tracks are ever reused.
For the function to function it should know the CRC32 to expect for the current track, without ripping the track once again.
I do not know how this should be fixed.
The easy option would be to not do CRC32 checksum comparisons and assume that all existing files are good copies, they should still be verified but AccurateRip checksums but in the case that those are absent we would be blindly trusting the existing files.