beets/beetsplug
Tai Lee 3eb6f8e5eb Add discogs plugin, which extends the autotagger to include results from the discogs database.
This is a refactor of the plugin developed by `imenem`.

- Pass `artist`, `album` and `va_likely` to `candidates()` so that
  plugins don't have to work this out from `items` all over again.
- Pass `artist` and `title` to `item_candidates()`.
- Silence spurious `urllib3` info log lines.
- Use a proper "beets" user agent with `discogs_client`.
- Remove `abstract_search` plugin. It seems unnecessary. How many
  music databases are there? How many will beets support? How much
  common code might there be between them? We can add some abstraction
  if or when more databases are supported.
- Derive more AlbumInfo and TrackInfo properties from discogs Release
  objects, especially album ID so that beets doesn't just use the first
  release and think all subsequent releases are duplicates.
- Add basic documentation, doc strings and code comments.
- Sanitise search query. Remove non-word characters and medium info that
  might filter out good search results.
- Use artist `join` strings from discogs Release object when an album
  or track has multiple artists.
- Don't rely on discogs track position, which is unreliable. But tracks
  are in order, so we can recalculate medium and medium_index as long as
  we can extract a consistent medium across tracks from the position.
- Add "various" as a known signal to indicate various artists.
- Prevent `chroma` plugin from returning a a huge track distance for any
  track that is missing an ID (e.g. all discog tracks).
- `TrackInfo.index` should be the release index (calculated by beets),
  not the medium index (derived from discogs track position).
- Add `AlbumInfo.data_source`. It's "Unknown" by default which is shown
  in red when displaying a suggested or selected match. The built in
  auto tagger sets it to "MusicBrainz" which is shown in green. Anything
  else (e.g. "Discogs") is shown in yellow.
- Remove double spaces from album titles (bad data from Discogs).
2013-05-21 21:16:52 +10:00
..
bpd changelog note and indentation fix for #86 2013-02-02 12:27:42 -08:00
lastgenre changelog for #254 2013-04-21 20:41:01 -07:00
web changelog for #246 2013-04-10 10:18:58 -07:00
__init__.py happy new year 2013-01-11 10:43:41 -08:00
bench.py happy new year 2013-01-11 10:43:41 -08:00
chroma.py Add discogs plugin, which extends the autotagger to include results from the discogs database. 2013-05-21 21:16:52 +10:00
convert.py spell check 2013-04-29 10:23:21 -07:00
discogs.py Add discogs plugin, which extends the autotagger to include results from the discogs database. 2013-05-21 21:16:52 +10:00
echonest_tempo.py echonest_tempo: catch socket.error 2013-03-09 11:33:55 -08:00
embedart.py fixing things 2013-03-25 15:20:38 -03:00
fetchart.py API/test enhancements for #257 2013-04-27 16:47:42 -07:00
fuzzy.py fix extra super call in fuzzy 2013-03-14 18:43:44 -07:00
ihate.py remove singleton enforcement from plugins 2013-01-31 12:13:19 -08:00
importfeeds.py changelog for #180 2013-03-12 22:00:11 -07:00
info.py happy new year 2013-01-11 10:43:41 -08:00
inline.py fix inline and rewrite for instance fields 2013-02-02 08:35:54 -08:00
lyrics.py lyrics: substitute more punctuation (fixes #270) 2013-05-12 12:45:49 -07:00
mbcollection.py mbcollection: use library functions 2013-03-11 19:43:57 -07:00
mbsync.py fixing things 2013-03-25 15:20:38 -03:00
missing.py changelog, little style tweak for #272 2013-05-10 22:23:24 -07:00
mpdupdate.py Update comments to reflect config migration 2013-01-31 18:17:00 -05:00
random.py happy new year 2013-01-11 10:43:41 -08:00
replaygain.py replaygain: catch Unicode exc on Windows (GC-499) 2013-01-12 14:38:19 -08:00
rewrite.py fix inline and rewrite for instance fields 2013-02-02 08:35:54 -08:00
scrub.py minor style cleanup for #75 2013-01-29 21:30:57 -08:00
smartplaylist.py smartplaylist: split query w/ shlex (fixes #256) 2013-04-21 20:55:07 -07:00
the.py remove singleton enforcement from plugins 2013-01-31 12:13:19 -08:00
zero.py zero: remove redundant list of dict's keys 2013-01-31 12:15:18 -08:00