diff --git a/beets/autotag/__init__.py b/beets/autotag/__init__.py index 738ff4813..9b3970f12 100644 --- a/beets/autotag/__init__.py +++ b/beets/autotag/__init__.py @@ -212,22 +212,12 @@ def apply_metadata(album_info, mapping): item[field] = value -def album_distance(config, data_source, album_info): +def get_distance(config, data_source, info): """Returns the ``data_source`` weight and the maximum source weight - for albums. + for albums or individual tracks. """ dist = Distance() - if album_info.data_source == data_source: - dist.add('source', config['source_weight'].as_number()) - return dist - - -def track_distance(config, data_source, track_info): - """Returns the ``data_source`` weight and the maximum source weight - for individual tracks. - """ - dist = Distance() - if track_info.data_source == data_source: + if info.data_source == data_source: dist.add('source', config['source_weight'].as_number()) return dist @@ -356,15 +346,11 @@ class APIAutotaggerPlugin(BeetsPlugin): return [self.track_for_id(track_data=track) for track in tracks] def album_distance(self, items, album_info, mapping): - return album_distance( - data_source=self.data_source, - album_info=album_info, - config=self.config, + return get_distance( + data_source=self.data_source, info=album_info, config=self.config ) def track_distance(self, item, track_info): - return track_distance( - data_source=self.data_source, - track_info=track_info, - config=self.config, + return get_distance( + data_source=self.data_source, info=track_info, config=self.config ) diff --git a/beetsplug/discogs.py b/beetsplug/discogs.py index 47747420a..47bee68d0 100644 --- a/beetsplug/discogs.py +++ b/beetsplug/discogs.py @@ -20,7 +20,7 @@ from __future__ import division, absolute_import, print_function import beets.ui from beets import config -from beets.autotag import APIAutotaggerPlugin, album_distance +from beets.autotag import APIAutotaggerPlugin, get_distance from beets.autotag.hooks import AlbumInfo, TrackInfo from beets.plugins import BeetsPlugin import confuse @@ -160,9 +160,18 @@ class DiscogsPlugin(BeetsPlugin): def album_distance(self, items, album_info, mapping): """Returns the album distance. """ - return album_distance( + return get_distance( data_source='Discogs', - album_info=album_info, + info=album_info, + config=self.config + ) + + def track_distance(self, item, track_info): + """Returns the track distance. + """ + return get_distance( + data_source='Discogs', + info=track_info, config=self.config )