diff --git a/beets/autotag/match.py b/beets/autotag/match.py index 814738cd19..b49d877f22 100644 --- a/beets/autotag/match.py +++ b/beets/autotag/match.py @@ -72,7 +72,7 @@ def current_metadata(items): consensus = {} fields = ['artist', 'album', 'albumartist', 'year', 'disctotal', 'mb_albumid', 'label', 'catalognum', 'country', 'media', - 'albumdisambig'] + 'albumdisambig', 'discogs_catalog'] for field in fields: values = [item[field] for item in items if item] likelies[field], freq = plurality(values) @@ -233,6 +233,11 @@ def distance(items, album_info, mapping): dist.add_string('catalognum', likelies['catalognum'], album_info.catalognum) + # Discogs Catalog number. + if likelies['discogs_catalog'] and album_info.catalognum: + dist.add_string('catalognum', likelies['discogs_catalog'], + album_info.catalognum) + # Disambiguation. if likelies['albumdisambig'] and album_info.albumdisambig: dist.add_string('albumdisambig', likelies['albumdisambig'], diff --git a/beets/autotag/mb.py b/beets/autotag/mb.py index e6a2e277fc..f1545c947a 100644 --- a/beets/autotag/mb.py +++ b/beets/autotag/mb.py @@ -36,6 +36,7 @@ FIELDS_TO_MB_KEYS = { 'catalognum': 'catno', + 'discogs_catalog': 'catno', 'country': 'country', 'label': 'label', 'media': 'format', diff --git a/beets/library.py b/beets/library.py index 69fcd34cfa..72ac3a9bbb 100644 --- a/beets/library.py +++ b/beets/library.py @@ -475,6 +475,7 @@ class Item(LibModel): 'discogs_albumid': types.INTEGER, 'discogs_artistid': types.INTEGER, 'discogs_labelid': types.INTEGER, + 'discogs_catalog': types.STRING, 'lyricist': types.STRING, 'composer': types.STRING, 'composer_sort': types.STRING,