This pull request extends the supported template variables. Additions:
- `%B`: release barcode (already included but is now allowed)
- `%C`: release catalog number (already included but is now allowed)
- `%c`: release disambiguation comment
- `%D`: disc title without disambiguation
- `%I`: MusicBrainz Disc ID
- `%M`: total number of discs in the chosen release
- `%N`: number of current disc
- `%T`: medium title
When the relative metadata is available, whipper now adds the `TRACKTOTAL`, `DISCTOTAL` and `DISCNUMBER` metadata tags to the audio tracks.
I've also taken the inspiration from pull request #476.
Resolves#401, resolves#440, resolves#448.
- 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>
* Parameterise the UID of the worker user in the docker build file.
Signed-off-by: Alex Jones <alex.jones@unclealex.co.uk>
* Remove spurious use of ARG uid so that it only appears after the FROM statement.
Signed-off-by: Alex Jones <alex.jones@unclealex.co.uk>
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>