Commit Graph

148 Commits

Author SHA1 Message Date
Frederik “Freso” S. Olesen
41b1b1feff Add Track MBIDs to ripped files
See https://musicbrainz.org/doc/Track

First part of https://github.com/whipper-team/whipper/issues/200

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 18:59:11 +01:00
Frederik “Freso” S. Olesen
fce00f492e Change release used for testing [unknown] artist credits
The previously used release has since had its [unknown] artist credit
resolved since the data was originally taken from MusicBrainz.

Using data from this release now:
https://musicbrainz.org/release/8478d4da-0cda-4e46-ae8c-1eeacfa5cf37
Specifically:
https://musicbrainz.org/track/a04ee451-46c3-3ad6-a815-d7bb8449d605

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 18:35:48 +01:00
Frederik “Freso” S. Olesen
6d3f44ba96 Change release used for testing missing release date
The previous release has gotten a release date added since it was
originally dumped from MusicBrainz.

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 18:35:28 +01:00
Frederik “Freso” S. Olesen
a08bbeea6a Refresh MusicBrainz JSON dumps used for testing
Some of these dumps predate when MusicBrainz had (re)introduced track
MBIDs, so some tests for the code for issue #200 would fail since the
JSON dumps didn't contain those IDs.

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 16:47:01 +01:00
JoeLametta
8266368c7d Merge pull request #364 from whipper-team/task/cleanup-musicbrainz-nomenclature
Clean up MusicBrainz nomenclature
2019-02-13 15:29:33 +01:00
Frederik “Freso” S. Olesen
2c464bc732 Fix MusicBrainz nomenclature: track vs. recording
For historical reasons there is some confusion between Tracks[1] and
Recordings[2] in MusicBrainz. Essentially what should be saved to
`MUSICBRAINZ_TRACKID` is the Recording MBID—which is what whipper is
correctly doing, but the value storing this value was called `mbidTrack`
rather than `mbidRecording`, which could potentially cause confusion.

[1] https://musicbrainz.org/doc/Track
[2] https://musicbrainz.org/doc/Recording

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 15:03:31 +01:00
Frederik “Freso” S. Olesen
75c5646d1e Fix MusicBrainz nomenclature: album → release
In general, "albums" in everyday usage is what on MusicBrainz would be
considered a release group[1] while as far as I can tell, every single
instance of it being used in whipper is referring to a single "edition"
of an album, which is what would be called a "release" in
MusicBrainz terminology[2].

[1] https://musicbrainz.org/doc/Release_Group
[2] https://musicbrainz.org/doc/Release

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 14:55:45 +01:00
Frederik “Freso” S. Olesen
e91fe2720b command.mblookup: Fix misaligned output.
Only three spaces before "Barcode" instead of four.

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 14:35:34 +01:00
JoeLametta
9dc5702e19 Fix string concatenation bug 2019-02-02 19:19:50 +01:00
JoeLametta
f79fb32340 Remove broken assertion 2019-02-02 19:19:50 +01:00
JoeLametta
cf923cc9cc Review existing comments and add new ones
Also clarified a statement
2019-02-02 19:19:50 +01:00
JoeLametta
fe36241730 Don't assign the result of a function that returns no value 2019-02-02 19:19:49 +01:00
JoeLametta
ad66af900f Remove erroneous extra format argument 2019-02-02 19:19:49 +01:00
JoeLametta
6bb585e1a5 Replace if ... else ... with simpler statement 2019-02-02 19:19:49 +01:00
JoeLametta
e7bfc34c0e Rename 'throwaway' variables to single underscore
Also removed unused ones
2019-02-02 19:19:49 +01:00
JoeLametta
16b0d8dc29 Make methods static 2019-02-02 19:19:49 +01:00
JoeLametta
af90c1c338 Fix unresolved reference 2019-02-02 19:19:49 +01:00
JoeLametta
5311727572 Avoid shadowing built-ins/variables 2019-02-02 19:19:49 +01:00
JoeLametta
fef7973113 Modernize code for easier Python 3 port
- Replace print statement with function call
- Replace except ..., ...: syntax with except ... as ...:
- Simplify obsolete try ... except ... code block
- Replace some unicode calls with u-prefixed strings
- Do not use `len(SEQUENCE)` to determine if a sequence is empty
- Replace dictionary creation
- Drop support for GObject static bindings
2019-02-02 19:19:49 +01:00
JoeLametta
0e17b32740 Various stylistic fixes
- Fix PEP8's line too long warning
- Remove useless parentheses
- Use triple quotes for docstring
- Address pylint's 'inconsistent-return-statements'
- Specify string format arguments as logging function parameters
- Comment out already disabled block of code
- Remove useless else (after return)
- Remove useless statement
- Do not import already imported module
2019-02-02 19:19:46 +01:00
JoeLametta
8dfcc5b5ec Improve regular expressions
- Remove redundant escape
- Remove erroneous character
- Remove duplicate character
2019-02-02 18:39:14 +01:00
JTL
3e79032b63 WIP: Refactor cdrdao toc/table functions into Task and provide progress output (#345)
* Begin work on moving cdrdao to a task

* Add code to start cdrdao task

* Allow cdrdao output to be asynchronously parsable

* Provide progress of cdrdao read toc/table to console

* Flake8 fixes, Freso's advices
2019-02-02 18:36:03 +01:00
Daniel Butler
05495537a0 Clarify format option for disc template
The previous text implied to me that this was the sort name for the Album/Disc title.  Not the artist sort name.
2019-01-13 18:30:24 -08:00
JoeLametta
3f0ccba727 Push whipper v0.7.3 release 2018-12-14 22:14:30 +00:00
JoeLametta
3a569484e3 Discover plugins in system directories too
Fixes #135.
2018-12-14 22:16:13 +01:00
JoeLametta
c803a59d87 Fix whipper cd rip menu bug (loggers list) 2018-12-14 21:52:12 +01:00
JoeLametta
1349968245 Restore stdout flushing
Otherwise it seems that the output of some lines may appear garbled
2018-12-14 14:29:14 +00:00
JoeLametta
92cbb88f1f Avoid double showing the same error message 2018-12-14 14:21:56 +00:00
JoeLametta
a4f654a3f3 Fix logger statements having multiple arguments
Some of the instructions have been rendered invalid during the conversion to logger statements...

Also performed various stylistic fixes
2018-12-14 14:21:56 +00:00
JoeLametta
a23b214814 Print empty lines, not parentheses 2018-12-14 14:21:51 +00:00
JoeLametta
e3bb215d4f Convert noisy logger statements to debug level 2018-12-14 14:17:30 +00:00
JoeLametta
c377417108 Replace sys.std{out,err} statements with logger/print calls (#331)
* Change global default log level to 'INFO'

We're going to increase our usage of logger statements instead of print instructions (where deemed opportune).

* Replace sys.std{out,err} statements with logger/print calls

Fixes #303.
2018-12-13 20:21:26 +00:00
JoeLametta
32cd902821 Merge pull request #323 from whipper-team/feature/issue-215-unicode-issues
Fix UnicodeEncodeError with non ASCII MusicBrainz's catalog numbers
2018-12-11 17:50:51 +00:00
it is madness
25800e0d3f Avoid zero padding in logger track numbers
Fixes #340
2018-11-29 09:41:58 -05:00
JoeLametta
4a53ecba2c Avoid zero padding in logger track numbers
Fixes #340.
2018-11-29 08:00:00 +00:00
JoeLametta
c2af4459ef Preserve ToC file generated by cdrdao
Whipper uses cdrdao during its ripping process. With this commit it will now store cdrdao's generated tocfile in the ripping path.
Preserving the tocfile allows users to easily burn ripped discs having a non-compliant cue sheet.

Fixes #214.
2018-11-19 12:56:58 +01:00
JoeLametta
2b286be91c Update failing AccurateRipResponse tests (#334)
* Update failing AccurateRipResponse tests [1/2]

The failures seem to be caused by a remote metadata change (metadata from AccurateRip about a release ID changed) which means some of the asserts related to a specific release ID are failing. I've fixed this issue with two commits.
This is part 1: here I've updated the confidence values of two tracks making it agree with AccurateRip's remote.

* Update failing AccurateRipResponse tests [2/2]

This is part 2: here I've replaced the outdated AccurateRip bin file with a freshly downloaded one.
2018-11-17 09:05:34 +00:00
JoeLametta
f1aaaec73a Merge pull request #328 from whipper-team/feature/issue-202-zerodivisionerror
Raise exception when cdparanoia can't read any frames
2018-11-09 21:52:40 +01:00
JoeLametta
c0637b1b92 Raise exception when cdparanoia can't read any frames
This commit effectively reverts #159. Whipper now raises an exception again but with a clearer textual description.

Closes #202.
2018-11-09 21:47:56 +01:00
JoeLametta
09c3e4771d Prevent exception in offset find
Whipper offset find needs a (remote) matching AccurateRip entry to perform its task and confirm the drive offset: if none is found, return early to prevent exception.

Fixes #208.
2018-11-09 21:36:50 +01:00
JoeLametta
d7fd3fb507 Convert print statement to logger warning
Clarify the description of the error.
2018-11-09 08:00:00 +00:00
JoeLametta
4f5b684ec7 Fix template validation error
Commit 9c72ebccd3 introduced a bug: all template strings are validated against the disc template RegEx (which, for example, is wrong if we're testing the track template).
2018-11-04 12:17:44 +01:00
JoeLametta
f0fcae872d Write musicbrainz_discid tag when disc is unknown
Fixes #280.
2018-11-02 18:47:52 +01:00
JoeLametta
59d5fdb84a Fix UnicodeEncodeError with non ASCII MusicBrainz's catalog numbers
Fixes #215.
2018-11-02 17:29:12 +01:00
JoeLametta
69bac864ab Raise exception if template has invalid variables
If the template string contains variables which aren't valid for whipper, raise ValueError exception listing all the included unrecognized variables.
I've also corrected the example template configuration lines in the README.

Fixes #279.
2018-11-02 08:05:00 +00:00
JoeLametta
a011ca8d73 Update 'JoeLametta' to 'whipper-team' everywhere in repo 2018-11-02 08:00:00 +00:00
JoeLametta
30785b8d1b Push whipper v0.7.2 release
🎃  🎃  🎃
2018-10-31 08:00:00 +00:00
Frederik “Freso” S. Olesen
0fff37c954 Explicitly encode path as UTF-8 in truncate_filename()
`os.pathconf()` expects a bytes object, but the path is stored as a
unicode object. Since there's no specified encoding, Python chokes when
trying to convert it to a bytes object. Explicitly encoding it as UTF-8
allows Python to change it to a bytes object smoothly.

Fixes https://github.com/whipper-team/whipper/issues/315
2018-10-29 13:06:02 +01:00
JoeLametta
e33876c734 Fix flake8 W605 warning 2018-10-27 08:30:00 +00:00
JoeLametta
d25b995e28 Push whipper v0.7.1 release 2018-10-23 08:30:00 +00:00