Commit Graph

302 Commits

Author SHA1 Message Date
Martin Weinelt
e0942417a1 Use custom YAML subclass to be compatible with ruamel_yaml>=0.17
Signed-off-by: Martin Weinelt <hexa@darmstadt.ccc.de>
2021-07-04 16:53:09 +02:00
JoeLametta
042bf8f926 Mark suitable methods as static
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-26 10:35:58 +00:00
JoeLametta
8d6e64f58d Replace mutable default argument with None
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-26 10:35:58 +00:00
JoeLametta
06356fc40f README update, code linting changes
- PEP8 fix
- Remove useless parens
- Docstring fixes
- RegEX: remove unneeded escape character
- accuraterip-checksum: output usage to stderr in case of wrong invocation

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-26 10:35:58 +00:00
JoeLametta
236544dce9 Push whipper release v0.10.0
Fixes #428.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-17 15:40:43 +00:00
JoeLametta
731453ea8d Avoid useless './' in file paths
Replaced useless 'os.path.relpath(os.getcwd())' statement with 'os.curdir' (which is equal to '.').

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 17:19:14 +00:00
JoeLametta
078d3515ab Merge pull request #537 from blueblots/keep-going-err
Fixed error when ripping using `--keep-going` without specifying `--o…
2021-05-16 19:07:24 +02:00
blueblots
4d997bc65b Fixed error when ripping using --keep-going without specifying --output-directory
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>
2021-05-16 16:45:35 +01:00
JoeLametta
9d67144087 Add 'TRACKTOTAL', 'DISCTOTAL', 'DISCNUMBER' metatada to audio tracks
Co-authored-by: Máximo Castañeda <antiswen@yahoo.es>
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:32:02 +00:00
JoeLametta
1edd3657ba Introduce %M, %N template variables
- %M: total number of discs in the chosen release
- %N: number of current disc

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:32:02 +00:00
JoeLametta
76b8004b8f Introduce %T (medium title) template variable
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:32:02 +00:00
JoeLametta
e6ad23f119 Introduce %c (release disambiguation comment) template variable
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:32:02 +00:00
JoeLametta
bff5c91fa3 Introduce %I (MusicBrainz Disc ID) template variable
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:32:02 +00:00
JoeLametta
a97820b578 Add %D (disc title without disambiguation) to allowed template variables
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:32:02 +00:00
JoeLametta
e4645dfdd3 Swap 'title' and 'releaseTitle' meaning
- 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>
2021-05-16 10:32:02 +00:00
JoeLametta
e6d9838148 Enable %B (barcode) and %C (catalog number) template variables
Already included but were not allowed.
Improved documentation.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:32:02 +00:00
JoeLametta
0eaf80c4bb Template: replace None values with empty string
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-16 10:28:54 +00:00
JoeLametta
824ab995ab Add logger statement about output directory in cdrdao
Fixes #393.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-14 18:01:33 +00:00
JoeLametta
dedd38f029 Ignore leading / trailing slashes in template
Fixes #530.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-14 16:08:58 +00:00
JoeLametta
5040bc9094 Fix stupid syntax error in previous commit
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-14 11:34:29 +00:00
JoeLametta
6577b7f262 Hopefully fix test failures introduced with previous commit
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-14 11:25:41 +00:00
JoeLametta
7e30e7c952 Apply PathFilter's filters to all the template's components
Fixes #513.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-14 10:33:38 +00:00
JoeLametta
1e33bc62ed Make PathFilter's filter tolerant to empty strings
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-05-14 10:31:53 +00:00
JoeLametta
84e4ef6ab8 offset find: fail early and inform the user with CDs having less than 3 tracks
Fixes #532

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-03-31 10:07:39 +00:00
JoeLametta
c97f2ce547 Add warning about missing files referenced in the cue sheet
This happens when a track fails to be ripped and gets skipped.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-03-28 16:13:39 +00:00
blueblots
6505591462 Fixed m3u and cue sheet generation
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>
2021-03-28 16:10:37 +00:00
blueblots
13e1ab6c14 Changed logging strings, removed unnecessary return
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>
2021-03-28 16:10:37 +00:00
blueblots
9f36d323bb Added non-zero exit, altered logger format strings
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>
2021-03-28 16:10:37 +00:00
blueblots
ae596df834 Fixed error and added log output
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>
2021-03-28 16:10:37 +00:00
blueblots
311cc557ff Added --keep-going option to cd rip command
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>
2021-03-28 16:10:26 +00:00
JoeLametta
87f3d00ee3 Add missing information to manpages
Also:
- Updated description of command 'mblookup'
- Misc text changes

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2021-02-14 21:56:54 +00:00
Peter Taylor
4fb9d99ddd Add missing 'Album Artist' tag when its value is 'Various Artists'
Fixes #518.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-12-25 14:30:00 +00:00
JoeLametta
c229c01a58 Replace 'freedb.dbpoweramp.com' CDDB server with gnudb.org
It seems gnudb.org allows submissions too while 'freedb.dbpoweramp.com' is read only.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-11-28 17:44:21 +00:00
JoeLametta
3e61c3dc1b Fix 'list index out of range' bug
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>
2020-11-19 15:36:48 +00:00
JoeLametta
04ff005806 Fix bug in cdrom drive status handling
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>
2020-10-12 12:20:53 +00:00
Matthew Peveler
a8942a8037 Update test_result_logger.log
Signed-off-by: Matthew Peveler <matt.peveler@gmail.com>
2020-09-24 03:58:32 -04:00
Matthew Peveler
1015d6e000 Fix capitalization of "Health status" in rip log
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>
2020-09-24 03:57:45 -04:00
JoeLametta
3c9e75c3bc Merge pull request #509 from whipper-team/feature/issue-320-isrc-audio-tag
Tag audio tracks with ISRCs (if available)
2020-09-23 19:56:54 +02:00
JoeLametta
84cc824f2e Merge pull request #505 from whipper-team/feature/issue-488-drive-auto-close
Allow configuring whether to auto close the drive's tray
2020-09-23 19:54:59 +02:00
JoeLametta
21185f40a9 Merge pull request #507 from whipper-team/bugfix/issue-385-missing-cd-warning
Provide better error message when there's no CD in the drive
2020-09-23 19:52:50 +02:00
JoeLametta
302bc22a66 Merge pull request #506 from whipper-team/ux/issue-495-cdparanoia-warnings
Add checks and warnings for (known) cdparanoia's upstream bugs
2020-09-23 19:51:16 +02:00
JoeLametta
8a1c0fabfc Allow configuring whether to auto close the drive's tray
Fixes #488.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-09-23 17:41:48 +00:00
JoeLametta
b754b2b0bf Restore getRipResult method to fix regression
The regression was introduced in commit 3acc3ffed6.
The getRipResult method has been slimmed down to its essence.

Fixes #508.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-09-20 13:07:14 +00:00
JoeLametta
acf942b5b6 Tag audio tracks with ISRCs (if available)
Fixes #320.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-09-19 20:14:22 +00:00
JoeLametta
1661e4291e Emit warning when the subcode's pre-emphasis flag of a track differs from the ToC's one
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>
2020-09-18 11:58:18 +00:00
JoeLametta
921e25bf98 Provide better error message when there's no CD in the drive
Fixes #385.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-09-17 19:18:27 +00:00
JoeLametta
07bd0348f3 Add checks and warnings for (known) cdparanoia's upstream bugs
Fixes #495.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-09-17 18:07:28 +00:00
JoeLametta
3acc3ffed6 Drop whipper caching (#336)
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>
2020-09-17 17:52:11 +02:00
JoeLametta
bbed92bb30 Update failing AccurateRipResponse tests
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-08-10 16:39:55 +02:00
JoeLametta
fa7c50d3a6 Replace 'sys.exit()' and 'exit()' instructions with 'SystemExit()' equivalents
- `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>
2020-05-30 09:38:52 +00:00