Commit Graph

111 Commits

Author SHA1 Message Date
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
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
JoeLametta
fd6611743b Amend previous commit
The comment included a typo and, using 'max' as variable name, I was accidentally shadowing Python's builtin 'max' function
2018-10-23 08:00:00 +00:00
JoeLametta
02fd962094 Limit length of filenames (#311)
* Limit length of filenames

If whipper generated filenames are longer thant the maximum value supported by the filesystem, the I/O operations are going to fail.
With this commit filenames which may be too long are truncated to the maximum allowable length.

Fixes #197.
2018-10-22 20:51:14 +02:00
JoeLametta
a1e6d6040b Fix AccurateRip summary reporting
The values stored in variables _inARDatabase and _accuratelyRipped were double incremented when both AR v1 and AR V2 entries were present e/o matched, leading to a wrong calculation and potentially erroneous summary reporting.
After this fix, in case of double matches only one is counted against each track.
2018-10-17 12:00:00 +00:00
anarcat
021e621f84 Handle FreeDB server errors gracefully (#304)
* handle FreeDB server errors gracefully

In my repeated tests, I ended up upsetting freedb.org, which started
issuing 502 errors. Those errors are not correctly caught by the
program which just crashes with a backtrace. Instead, we handle those
like any other API error, which can already be generated by
perform_lookup (but not handled).

The visible result for the user is that the CD is simply not found on
FreeDB, an acceptable compromise, in my opinion.

Closes: #206

* harmonize an error message with other warnings

... which are all capitalized.
2018-10-06 17:13:27 +00:00
Andreas Oberritter
542e071443 switch CDDB implementation to freedb.py from python-audio-tools (#276)
* freedb: Import from python-audio-tools 660ee2c

License: GPL-2.0+

* freedb: Remove unused code and set client name to whipper.

The removed functions depend on other classes of python-audio-tools,
but aren't needed here.

* cddb-py: replace with newer freedb implementation

The last release of cddb-py was 15 years ago. The freedb code taken
from python-audio-tools speaks protocol version 6 (Unicode) and is
compatible to both Python 2 and 3.

* freedb: Don't allow the pedantic CI test to fail
2018-06-08 14:40:56 +00:00
Joe
241f44eff6 Merge branch 'master' into python3 2018-06-08 14:32:27 +00:00
Joe
a320f6a0a5 Remove whipper's image retag feature (#269)
Fixes #262.
2018-05-24 17:19:14 +02:00
Andreas Oberritter
145403705d Switch to PyGObject by default (#271)
* cd/offset: remove unused call to gobject.thread_init()

There are no threads involved.

* task: switch to PyGObject

Python-gobject-2 is deprecated.

* travis: update dependencies for PyGObject and GLib-2.0

* README: Add GObject Introspection
2018-05-24 17:11:37 +02:00
Andreas Oberritter
a5e3b0d325 task: implement logging 2018-05-10 03:48:46 +02:00
JoeLametta
3916f03e07 Indexing exceptions will not work on Python 3 2018-05-08 18:39:08 +02:00
JoeLametta
71df9124a6 Fix dict.keys referenced when not iterating 2018-05-08 18:39:08 +02:00
JoeLametta
f6d9f398b0 Exception.message removed in Python 3 2018-05-08 18:39:08 +02:00
JoeLametta
0f67bc4a96 Remove unneeded brackets in print statements 2018-05-08 18:39:08 +02:00
JoeLametta
bd81f80afa Make flake8 happy 2018-05-08 18:39:08 +02:00
JoeLametta
2b4140d300 Make Python code more idiomatic 2018-05-08 18:39:08 +02:00
JoeLametta
a484815106 Fix dictionary iteration methods 2018-05-08 18:39:08 +02:00
JoeLametta
b6ac79f01e Wrap map() in a list call 2018-05-08 18:39:08 +02:00
JoeLametta
9a7511b952 Replace iterator's next() methods usage with the next() function 2018-05-08 18:39:08 +02:00
JoeLametta
c26d4e99e5 Convert octal literals into the new syntax 2018-05-08 18:39:08 +02:00
JoeLametta
d3522940b2 Wrap existing range() calls with list 2018-05-08 18:39:08 +02:00
JoeLametta
7dff041362 Replace filter calls with list comprehensions 2018-05-08 18:39:08 +02:00
JoeLametta
4280dbfafc Convert except X, T to except X as T 2018-05-08 18:39:08 +02:00
JoeLametta
5f75d41c7b Replace deprecated unittest method names with the correct ones 2018-05-08 18:39:08 +02:00
JoeLametta
44ece38740 In Python 3 print is a function 2018-05-08 18:39:08 +02:00
JoeLametta
37fd1c6bb2 Add cdparanoia version to log file
Fixes #267.
2018-05-08 12:00:00 +00:00
Andreas Oberritter
732515723e Remove dead code from program.getFastToc
The caching mechanism didn's have any effect. The inline function
'function' wasn't used anymore.
2018-05-07 20:02:36 +02:00
JoeLametta
db8050d8c4 Fix PEP-8 E128 2018-04-09 08:05:00 +00:00
JoeLametta
b5caf86cd2 Push whipper v0.7.0 release 2018-04-09 08:00:00 +00:00
Q3CPMA
19eb9741c7 command.cd: simple message while reading toc
Fixes #257.
2018-04-05 18:00:00 +00:00
Samantha Baldwin
574b8b2ea5 Remove debug commands, add mblookup command (#249)
* add mblookup command

* remove debug commands

* mblookup: replace sys.stdout.write with print

* minor formatting fixes
2018-03-22 14:27:18 +01:00
Samantha Baldwin
fd2c56053b read command parameters from config sections (#240)
* read command parameters from config sections

* README: update config file documentation

* README: config example type INI, add comma

* README: clearer and better spelled wording

* README: fix 'delineated' typo
2018-03-07 14:39:29 +01:00
Samantha Baldwin
09de58852e Revert "Convert docstrings to reStructuredText"
This reverts commit 3b1bd242d0.
2018-03-02 16:47:12 -05:00
Samantha Baldwin
44e160910c remove -T/--toc-pickle 2018-03-01 21:14:15 -05:00
JoeLametta
64a0cf4327 Push whipper v0.6.0 release 2018-02-02 18:00:00 +00:00
Joe
1909acdc7c Merge pull request #224 from JoeLametta/peak
Test HTOA peak value against 0 (integer comparison)
2018-02-01 15:21:48 +01:00
JoeLametta
00bf17082e Test HTOA peak value against 0 (integer comparison)
Now whipper uses the absolute value of SoX's peak level as internal peak value.

Fixes #143.
2018-02-01 15:14:42 +01:00
Merlijn Wajer
852f459ad8 Merge pull request #222 from vmx/run-as-module
Run whipper without installation
2018-01-31 17:36:03 +01:00