Replaced useless 'os.path.relpath(os.getcwd())' statement with 'os.curdir' (which is equal to '.').
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
Added `os.path.basename()` to `skipped_tracks` comparison in
`ImageVerifyTask`. When `OUTPUT_DIRECTORY` is at its default '.'
`./` is prepended to the file path of `index.path`, causing the error.
Signed-off-by: blueblots <63152708+blueblots@users.noreply.github.com>
- Trasparent change: now it makes more sense.
- Updated tests to reflect 'title', 'releaseTitle' meaning swap.
- Improved documentation.
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
Added conditional to `program.write_m3u()` to
ignore skipped tracks.
Added skipped_tracks support to the `Program` and
`image.ImageVerifyTask` classes to avoid crashing
when a file for a skipped track doesn't exist.
Added conditional to `accurip.calculate_checksums`
to check if a path exists before trying to calculate
checksums, this prevents `accuraterip-checksum.c` from
emitting an error message (`sf_open failed!`) when a
path doesn't exist (as when a track is skipped).
Signed-off-by: blueblots <63152708+blueblots@users.noreply.github.com>
Removed `return None` from the `Rip.doCommand` method
as suggested in review comments.
Changed logging strings to use logger arguments rather
than printf-string, as suggested in review comments.
Signed-off-by: blueblots <63152708+blueblots@users.noreply.github.com>
Added an exit status of 5 when tracks are skipped
during a rip attempt.
Fixed a TypeError caused by a syntax error in the
format string on line 537 in `whipper/command/cd.py`.
Changed f-string to printf-style format string
on line 493 in `whipper/command/cd.py`.
Signed-off-by: blueblots <63152708+blueblots@users.noreply.github.com>
Made changes to fix `KeyError` and implemented logging
of skipped tracks. For instance:
if any tracks are skipped, the log will show:
`Health status: Some tracks were not ripped (skipped)`.
the tracks that are skipped will show:
`Status: Track not ripped (skipped)`.
Signed-off-by: blueblots <63152708+blueblots@users.noreply.github.com>
Implemented the option (`-k`, `--keep-going`) to continue ripping
the CD even if one track fails to rip (as @xmixahlx suggested in #128).
Requested in #128
Signed-off-by: blueblots <63152708+blueblots@users.noreply.github.com>
Changed line-lengths/indentation of some code
Travis-CI was failing on account of lines being
under-indented or too long, this should correct it.
Signed-off-by: blueblots <63152708+blueblots@users.noreply.github.com>
It was introduced in commit acf942b5b6.
The error happens because 'self.itable.tracks' is a list of tracks
(zero-based numbering, HTOA excluded) so the first track can be accessed with
'self.itable.tracks[0]' but when 'number' has value 0, that matches the HTOA
(everything is shifted by one compared to 'self.itable.tracks').
It's unrelated to this bugfix but I've also moved some instructions outside
the try ... except clause.
Fixes#512.
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
The bare if evaluated to true for return codes > 0 and that's wrong (CDS_DISC_OK = 4).
Fixes#511.
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
This fixes a regression from move to ruamel.yaml where all other fields in rip log have second word lowercased, except for "Health Status". This changes it to make it inline with all other fields again.
Signed-off-by: Matthew Peveler <matt.peveler@gmail.com>
In the future I'd like to make sure this information is included in the logfile too (maybe also in the cue sheet).
Related to issue #296.
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
Whipper's caching implementation causes a few issues (#196, #230, [#321 (comment)](https://github.com/whipper-team/whipper/pull/321#issuecomment-437588821)) and complicates the code: it's better to drop this feature.
The rip resume feature doesn't work anymore: if possible it will be restored in the future.
* Remove caching item from TODO
* Delete unneeded files related to caching
* Update 'common/directory.py' & 'test/test_common_directory.py' (caching removal)
* Update 'common/accurip.py' & 'test/test_common_accurip.py' (caching removal)
* Update 'common/program.py' (caching removal)
* Update 'command/cd.py' (caching removal)
This fixes#335, fixes#196 and fixes#230.
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
- `SystemExit` doesn't require importing the `sys` module
- `exit()` depends on the `site` module (for this reason its usage is discouraged in production code)
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>