Diego M. Rodriguez
30f238151e
discogs: additional sanity checks parsing release
...
Add extra checks for the presence of specific field (artists, title,
id, tracklist) when parsing a Release from discogs, failing gracefully
if the fields could not be found.
Add a test for releases without required fields.
2016-12-29 13:19:01 +01:00
Diego M. Rodriguez
02666424d4
discogs: improve robustness when parsing an album
...
Improve the robustness of `get_album_info()` by preferring the use of
`get()` over accesing the dictionary keys directly for several fields,
plus adding extra checks for fields that depend on nested containers on
the Release data.
Add a test for parsing a release that contains a minimal amount of
fields.
2016-12-28 21:07:18 +01:00
Johnny Robeson
bca6d2af01
Remove requests/urllib3 logging override in discogs
...
Discog plugin overrides the global logging for `requests` for a reason
that seems no longer valid.
I can't seem to reproduce the logging behavior mentioned in the
preceding comment, so I'm removing it.
If we do want to modify `requests` logging in the future, then we should
hook it into beets verbose logging.
2016-12-09 00:52:24 -05:00
kooimens
373cf19f8b
Fix discogs disc field is set to zero
...
Fixes #587 . The disc field is only zero when there is only one medium, so I think this will do the trick. I wasn't able to reproduce the real problem within the code. This is just a small workaround.
2016-10-17 19:51:03 +02:00
Diego Moreda
1f4bef9e61
discogs: docstring style fix
2016-10-10 20:30:21 +02:00
Diego Moreda
f4907ca5d0
discogs: handle nested subtracks, add try block
...
Modify coalesce_tracks() in order to handle the case where subtracks
are defined inside an index track (as `sub_tracks` attribute),
reorganizing the if logic to avoid duplicated code.
Add a try..catch block enclosing the call to clean_tracklist, as a
measure for avoiding side effects (and reverting to just parsing the
raw_list if there are any problems).
2016-10-10 19:59:42 +02:00
Diego Moreda
fb398c5f2c
discogs: add medium_total to tracks ( #415 )
2016-10-10 17:46:41 +02:00
Diego Moreda
1148acaaf1
discogs: revise position regexp, add tests, tox
...
Revise the regular expression used for extracting information from a
discogs position, making the subtrack_index only be matched if one of
the other groups is matched as well. Split the definition into several
lines in order to try to document it a bit more clearly.
Add unit tests for position parsing and non standard positions.
Fix the underscore on tox dependency.
2016-10-10 17:42:27 +02:00
Diego Moreda
e7f2a111e4
discogs: add test dependencies, fix spelling
2016-10-09 17:57:36 +02:00
Diego Moreda
be223d966e
discogs: coalesce subtracks ( #1543 )
...
Detect subtracks and merge them into a single track, taking into account
the index tracks if present. This includes a revision of the regular
expression used for converting a discogs "position" into medium, medium
index and subtrack index pieces, following the standard discogs
positions (12.2.9).
2016-10-07 19:09:09 +02:00
Diego Moreda
c55885c9e8
discogs: take into account two-sided media ( #1762 )
...
Revise the discogs plugin so two-sided mediums are taking into account
and each pair of consecutive *sides* is treated as single *medium*.
2016-10-07 19:01:50 +02:00
Diego Moreda
911117ef49
discogs: set media on tracks ( #1921 )
...
Set the media for all the tracks when fetching a release using discogs,
as autotag.apply_metadata requires it in order to work properly.
2016-10-06 19:49:43 +02:00
Johnny Robeson
6b73aa25d2
Use b'' in discogs medium query regex
...
Since the first arg to `re.sub()` is bytes, thus must be the
replacement string.
2016-09-20 17:38:39 -04:00
arogl
86d2129c52
Spelling update
2016-08-12 14:48:55 +10:00
Adrian Sampson
5efd5b21c5
Use new as_str method
...
Instead of `get(six.text_type)`, which was a surprisingly large portion of our
uses of six.
2016-06-25 19:16:14 -07:00
Johnny Robeson
e8afcbe7ec
replace unicode with six.text_type
2016-06-24 05:53:49 -04:00
Johnny Robeson
7713be4c0f
use http_client (really http.client) from six.moves
2016-06-23 04:40:18 -04:00
Johnny Robeson
5e62b39f75
replace TEMPORARY with FIXME in discogs plugin
...
We're more likely to search for this later by FIXME.
NOTE: the bug is fixed, but the versions with the fix may not be widely
distributed yet
2016-06-10 02:30:00 -04:00
Johnny Robeson
5485bdb706
add missing b' in discogs query regex
2016-06-10 02:23:14 -04:00
Adrian Sampson
e54c7eec3d
Standardize __future__ imports without parentheses
...
Since the list is short enough now, we don't need parentheses for the line
wrap. This is a little less ugly.
2016-02-28 15:03:51 -08:00
Peter Kessen
40900aa1cb
Removed unicode_literals from plugins
...
* bucket
* chroma
* convert
* discogs
2016-02-20 12:10:01 +01:00
Adrian Sampson
c7045daf90
sampsyo -> beetbox ( #1730 ) 🎉
2016-01-08 20:36:16 -08:00
Adrian Sampson
0301bb517d
Update links for our new domain
2016-01-08 16:26:13 -08:00
Jack Wilsdon
12cd5306b7
Update copyright dates to 2016
2015-12-30 15:42:06 +00:00
Peter Kessen
3eb8008b11
added encoding as comment in files
...
added line like
# -*- coding: utf-8 -*-
to all files with correct license in header
2015-11-19 18:41:01 +01:00
Adrian Sampson
9165b7cf45
Trailing comma ( #1708 )
2015-11-08 13:02:07 -08:00
Manfred Urban
485870f288
Made various artist title configurable
2015-11-08 16:22:36 +01:00
Adrian Sampson
7413e17782
Merge pull request #1692 from kooimens/patch-2
...
Discogs: change album artist to musicbrainz naming
2015-11-06 13:01:23 -08:00
kooimens
414ae131a5
Fix style error
2015-11-06 19:27:36 +01:00
kooimens
da0360bd90
Update discogs.py
2015-11-05 14:50:40 +01:00
Adrian Sampson
a735a6b4a2
discogs: Better exception logging
...
Might have helped diagnose #1669 more easily.
2015-11-03 22:38:31 -08:00
Adrian Sampson
023a33ca31
Revert "Fix #1656 , maybe: encode Discogs token strings"
...
This reverts commit f784cd1a22 .
2015-11-03 22:29:33 -08:00
kooimens
2293e1e09d
Discogs: option to change 'various' album artist to 'Various Artists' (Musicbrainz naming)
...
Just a simple config option to change 'various' album artist to the one that MusicBrainz uses: Various Artists.
2015-11-03 20:03:24 +01:00
Adrian Sampson
f784cd1a22
Fix #1656 , maybe: encode Discogs token strings
2015-10-24 12:07:40 -07:00
Bruno Cauet
d134ad922d
Discogs: add API errors to CONNECTION_ERRORS
...
This avoids potential crashes when DiscogsAPIError is not explicitely
caught.
Relates to #1417 .
2015-04-17 17:32:42 +02:00
Adrian Sampson
0507f80fcd
discogs: Handle errors on auth setup ( fix #1417 )
2015-04-14 10:26:39 -07:00
Adrian Sampson
b477f4a53f
Merge pull request #1376 from tomjaspers/config-redacted-fields
...
Config: new option -r redacts sensitive fields
Conflicts:
beets/util/confit.py
2015-03-27 22:11:24 -04:00
Tom Jaspers
944d38064d
Config: implement redacted fields more idiomatic
...
- `add_redacted_fields(self, *field_names)` to use argument unpacking
- foo =| bar instead of foo = foo | bar
2015-03-25 14:55:29 +01:00
Tom Jaspers
f4ed3e16b1
Config: Add redacted fields from included plugins
2015-03-24 17:01:33 +01:00
Bruno Cauet
1722c26ffe
Fix DiscogsPlugin.setup() arguments
...
Session is optional. This fixes re-authorization.
Improve #1347 .
2015-03-07 14:00:47 +01:00
Adrian Sampson
bcc591bf97
Generalize exception handler for #1347
2015-03-06 12:01:09 -08:00
Bruno Cauet
d1f6bbaf01
Discogs plugin: catch client lib ValueErrors
...
When search fails, log the query which caused it and return an empty
result.
Kind of fixes #1347 .
2015-03-06 11:16:20 +01:00
Bruno Cauet
457afdc55d
Auto re-auth for discogs plugin upon error 401
...
This goes in the direction of #1299 and #1305 .
2015-02-18 15:11:52 +01:00
Bruno Cauet
5a1f499c64
Discogs plugin: fix event listener params
...
Also delete related deprecated comment.
2015-02-11 09:11:20 +01:00
Adrian Sampson
0247785440
discogs: Catch JSON decode errors
...
Fix #1305 *again*.
2015-02-03 23:42:47 -08:00
Adrian Sampson
cc01d87209
discogs: Catch *another* exception ( fix #1305 )
...
Everything but requests is a travesty.
2015-02-03 23:04:14 -08:00
Adrian Sampson
77833f6c05
Oops 😳 #1299
2015-02-02 22:34:22 -08:00
Adrian Sampson
8151a40f1f
discogs: Catch socket errors ( #1299 )
...
See also:
https://github.com/discogs/discogs_client/issues/44
2015-02-02 22:27:14 -08:00
Bruno Cauet
a5026100a3
All plugins use unicode_literals
...
Given that part of them has no test I may have broke them
2015-01-20 16:22:27 +01:00
Bruno Cauet
438044c6ae
Fix bytes/str with unicode-nazi
...
Further cleaning will require setting unicode_literals on plugins
2015-01-20 15:25:12 +01:00