From 4de5d36b71bc8355476091d08611a148d6c44fbb Mon Sep 17 00:00:00 2001 From: Tai Lee Date: Sun, 2 Jun 2013 22:29:48 +1000 Subject: [PATCH] Use `add_ratio()` for year penalties, with the difference between now and the original year as the max. --- beets/autotag/match.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/beets/autotag/match.py b/beets/autotag/match.py index 7f2f01c56..bbfae4134 100644 --- a/beets/autotag/match.py +++ b/beets/autotag/match.py @@ -420,12 +420,17 @@ def distance(items, album_info, mapping): if likelies['year'] in (album_info.year, album_info.original_year): dist.add('year', 0.0) else: - dist.add_number('year', likelies['year'], album_info.year) + diff = abs(likelies['year'] - album_info.year) + diff_max = abs(datetime.date.today().year - + album_info.original_year) + dist.add_ratio('year', diff, diff_max) # Prefer earlier releases. if album_info.year and album_info.original_year and \ config['match']['preferred']['original_year'].get(): - dist.add_number('year', album_info.year, album_info.original_year) + diff = abs(album_info.year - album_info.original_year) + diff_max = abs(datetime.date.today().year - album_info.original_year) + dist.add_ratio('year', diff, diff_max) # Country. if likelies['country'] and album_info.country: