mirror of
https://github.com/beetbox/beets.git
synced 2025-12-09 18:12:19 +01:00
Modularize distance
This commit is contained in:
parent
1b05912ab9
commit
8010488f37
2 changed files with 19 additions and 24 deletions
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue