Commit Graph

33 Commits

Author SHA1 Message Date
JoeLametta
e56c636fd3 Improve docstrings
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-02-22 15:11:22 +00:00
JoeLametta
9e63915f65 Display release country in matching releases
This simplifies choosing the correct release when there are multiple matches.
If a certain release has multiple countries associated, all will be shown.

Thanks to the user "the-confessor" for testing this new feature.

Fixes #451.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-02-04 16:36:02 +01:00
ABCbum
5cd96da6cb Extend whipper's tagging ability
Add PERFORMER & COMPOSER metadata tags to audio tracks (if available).
Composer(s) and performer(s) will be extracted from MusicBrainz
recording metadata by new _getComposers and _getPerformers
functions then there will be new properties added to each track
metadata. If those data are present it will be tagged as new tags
PERFORMER and COMPOSER.

Signed-off-by: ABCbum <kimlong221002@gmail.com>
Co-authored-by: JoeLametta <JoeLametta@users.noreply.github.com>
Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2020-01-15 13:13:53 +07:00
ABCbum
78c91fd1c7 Add new functionality and refactor code
In order to make mblookup command able to lookup data based
on release id, new function getReleaseMetadata is created.
To remove duplicated code, importing and set_useragent is moved
to the top of the file.
Now _getMetadata behaves differently when the discid is not
specified.

Signed-off-by: ABCbum <kimlong221002@gmail.com>
2019-12-19 08:55:54 +00:00
ABCbum
31d589b00d Enable whipper to use track title (#430)
* Enable whipper to use track title if possible

track.title = t.get('title', t['recording']['title']).

Since if a track itself doesn't have a title then the track
title is the same with the recording title. Otherwise, a track
has its own title then t['title'] is different from
t['recording']['title'] and whipper chooses t['title'].

[Fixes #192]
Signed-off-by: ABCbum <kimlong221002@gmail.com>

* Add test case to check for track title

Using an existing JSON release file

Signed-off-by: ABCbum <kimlong221002@gmail.com>
2019-12-13 18:43:48 +01:00
JoeLametta
35201d5290 Address errors, improvements, formatting
- Removed unused code not portable due to buffer() use
- raw_input() does not exist in Python 3
- Fixed octal constant syntax for Python 3
- Fixed TypeError
- Replace if not exists: makedirs(path) with single call: using makedirs(path, exist_ok=True)
- Class inherits from object, can be safely removed from bases in python3: pylint's useless-object-inheritance (W0235) check

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2019-11-26 18:46:12 +00:00
Drew DeVault
64dd9d843a Initial pass on python 3 port
Given the imminent end-of-life for Python 2, I didn't bother making the
codebase compatible with both.

Signed-off-by: Drew DeVault <sir@cmpwn.com>
2019-11-26 18:46:10 +00:00
JoeLametta
bb78dc109d Merge pull request #387 from whipper-team/feature/issue-383-restructuredtext
Convert documentation from epydoc to reStructuredText
2019-05-03 20:11:09 +02:00
JoeLametta
69f8f39c49 Change documentation from epydoc to reStructuredText
Thanks to Freso for all the useful comments!

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2019-05-03 20:06:13 +02:00
Frederik “Freso” S. Olesen
bf8daf186d mbngs: Let releaseType be None if no type is set
Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-05-03 02:49:42 +02:00
Frederik “Freso” S. Olesen
885ad172a8 Set release type to empty string if none is given
Fixes https://github.com/whipper-team/whipper/issues/396

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-05-02 18:37:51 +02:00
Frederik “Freso” S. Olesen
14aa8b7f7c Handle artist MBIDs as multivalue tags
Instead of joining artist MBIDs with a ';' save them as multiple values
to the tag. (This is how Picard saves that tag.)

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 22:59:58 +01:00
Frederik “Freso” S. Olesen
42e7a77645 Remove unused argument for ….mbngs._getMetadata()
Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 22:07:59 +01:00
JoeLametta
94b7001fad Merge pull request #366 from whipper-team/feature/issue-200-add-more-musicbrainz-identifiers
Add Track, Release Group, and Work MBIDs to ripped files
2019-02-13 21:35:02 +01:00
Frederik “Freso” S. Olesen
364f024c08 Add Work MBIDs to ripped files
See https://musicbrainz.org/doc/Work

Third and final and thus closes https://github.com/whipper-team/whipper/issues/200

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 21:01:57 +01:00
JoeLametta
87b9460639 Change musicbrainzngs logging level to WARNING
The default log level is INFO.
Needed to silence harmless messages like: '<ws2:release-group>, uncaught attribute type-id'.

Signed-off-by: JoeLametta <JoeLametta@users.noreply.github.com>
2019-02-13 20:13:09 +01:00
Frederik “Freso” S. Olesen
fa5add0309 Simplify setting release type
We pull in the Release Group information now directly in the original
MusicBrainz web service request, so no need to do further processing
to get it.

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 19:51:30 +01:00
Frederik “Freso” S. Olesen
c963b0173b Add Release Group MBIDs to ripped files
See https://musicbrainz.org/doc/Release_Group

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

(MusicBrainz JSON test data dumps needed to be refreshed due to the
new `includes` in the MusicBrainz web service call.)

Signed-off-by: Frederik “Freso” S. Olesen <freso.dk@gmail.com>
2019-02-13 19:03:15 +01:00
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
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
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
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
a011ca8d73 Update 'JoeLametta' to 'whipper-team' everywhere in repo 2018-11-02 08:00:00 +00:00
JoeLametta
4280dbfafc Convert except X, T to except X as T 2018-05-08 18:39:08 +02: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
09de58852e Revert "Convert docstrings to reStructuredText"
This reverts commit 3b1bd242d0.
2018-03-02 16:47:12 -05:00
JoeLametta
3b1bd242d0 Convert docstrings to reStructuredText
This commit also includes:

  - whitespace / code formatting fixes
  - slight syntax related changes: except <exception_name>, e -> except <exception_name> as e
  - 3 pointless instructions instances have been rewritten [sorted] (spotted by semi-automatic check)

The unrelated changes shouldn't have any real impact on whipper's behaviour.
2018-01-12 11:42:24 +01:00
gorgobacka
7ae27de32b Fix artist name (#156)
* Use artist-credit->name

Use artist-credit->name, if it exists. Otherwise use artist-credit->artist->name.

* Add test case

* Fix for PEP8

* transform comment to docstring

* reject 'recording artist name' in favour of 'release artist name'

* reject 'recording artist name' in favour of 'release artist name'
2017-09-14 22:25:28 +02:00
JoeLametta
b6fb7e8a86 Solve all flake8 warnings (#163)
Whipper is now fully PEP8 compliant.
Revised version which includes all the changes suggested by Freso.
2017-05-31 23:09:36 +02:00
Frederik “Freso” S. Olesen
8ebd329a19 Fix capitalisation of MusicBrainz everywhere
Make MusicBrainz consistently written as "MusicBrainz" and not
"musicbrainz" or "Musicbrainz".
Doesn't change instances that refer to the Python module or similar.
2017-05-19 01:16:45 +02:00
Frederik “Freso” S. Olesen
a20c25258d Remove "Morituri - for those about to RIP" lines. 2017-04-26 23:08:50 +02:00
Frederik “Freso” S. Olesen
c719d9c077 Update filenames.
Note that the (internal) file names of
"whipper/test/cache/result/fe105a11.pickle" did not get updated, since
that breaks the tests for some reason.
2017-04-26 23:08:50 +02:00
Frederik “Freso” S. Olesen
ff309e468c Rename "morituri" module to "whipper".
Fixes https://github.com/JoeLametta/whipper/issues/100
2017-04-26 23:08:28 +02:00