From 51f40d26dc2812d4834799ae44e500195e3bbd3b Mon Sep 17 00:00:00 2001 From: Tai Lee Date: Mon, 3 Jun 2013 00:04:45 +1000 Subject: [PATCH] Rename `Distance.penalties` to `Distance._penalties`. It should be private. --- beets/autotag/match.py | 16 +++++++------- test/test_autotag.py | 47 +++++++++++++++++++++--------------------- test/test_ui.py | 2 +- 3 files changed, 33 insertions(+), 32 deletions(-) diff --git a/beets/autotag/match.py b/beets/autotag/match.py index 0d270d238..d6eab98d5 100644 --- a/beets/autotag/match.py +++ b/beets/autotag/match.py @@ -201,14 +201,14 @@ class Distance(object): def __getitem__(self, key): """Returns the weighted distance for a named penalty. """ - dist = sum(self.penalties[key]) * weights[key].as_number() + dist = sum(self._penalties[key]) * weights[key].as_number() dist_max = self.max_distance if dist_max: return dist / dist_max return 0.0 def __init__(self): - self.penalties = {} + self._penalties = {} def __sub__(self, other): return self.distance - other @@ -233,7 +233,7 @@ class Distance(object): if not 0.0 <= dist <= 1.0: raise ValueError( '`dist` must be between 0.0 and 1.0. It is: %r' % dist) - self.penalties.setdefault(key, []).append(dist) + self._penalties.setdefault(key, []).append(dist) def add_equality(self, key, value, options): """Adds a distance penalty of 1.0 if `value` doesn't match any of the @@ -311,7 +311,7 @@ class Distance(object): """Returns an overall weighted distance across all penalties. """ dist = 0.0 - for key, penalty in self.penalties.iteritems(): + for key, penalty in self._penalties.iteritems(): dist += sum(penalty) * weights[key].as_number() dist_max = self.max_distance if dist_max: @@ -323,7 +323,7 @@ class Distance(object): """Returns the maximum distance penalty. """ dist_max = 0.0 - for key, penalty in self.penalties.iteritems(): + for key, penalty in self._penalties.iteritems(): dist_max += len(penalty) * weights[key].as_number() return dist_max @@ -332,7 +332,7 @@ class Distance(object): """Returns a list of (dist, key) pairs, with `dist` being the weighted distance, sorted from highest to lowest. """ - list_ = [(self[key], key) for key in self.penalties] + list_ = [(self[key], key) for key in self._penalties] return sorted(list_, key=lambda (dist, key): (0-dist, key)) def update(self, dist): @@ -341,8 +341,8 @@ class Distance(object): if not isinstance(dist, Distance): raise ValueError( '`dist` must be a Distance object. It is: %r' % dist) - for key, penalties in dist.penalties.iteritems(): - self.penalties.setdefault(key, []).extend(penalties) + for key, penalties in dist._penalties.iteritems(): + self._penalties.setdefault(key, []).extend(penalties) def track_distance(item, track_info, incl_artist=False): """Determines the significance of a track metadata change. Returns a diff --git a/test/test_autotag.py b/test/test_autotag.py index 92088a7b8..b257f62c9 100644 --- a/test/test_autotag.py +++ b/test/test_autotag.py @@ -112,72 +112,73 @@ class DistanceTest(unittest.TestCase): def test_add(self): self.dist.add('add', 1.0) - self.assertEqual(self.dist.penalties, {'add': [1.0]}) + self.assertEqual(self.dist._penalties, {'add': [1.0]}) def test_add_equality(self): self.dist.add_equality('equality', 'ghi', ['abc', 'def', 'ghi']) - self.assertEqual(self.dist.penalties['equality'], [0.0]) + self.assertEqual(self.dist._penalties['equality'], [0.0]) self.dist.add_equality('equality', 'xyz', ['abc', 'def', 'ghi']) - self.assertEqual(self.dist.penalties['equality'], [0.0, 1.0]) + self.assertEqual(self.dist._penalties['equality'], [0.0, 1.0]) self.dist.add_equality('equality', 'abc', re.compile(r'ABC', re.I)) - self.assertEqual(self.dist.penalties['equality'], [0.0, 1.0, 0.0]) + self.assertEqual(self.dist._penalties['equality'], [0.0, 1.0, 0.0]) def test_add_expr(self): self.dist.add_expr('expr', True) - self.assertEqual(self.dist.penalties['expr'], [1.0]) + self.assertEqual(self.dist._penalties['expr'], [1.0]) self.dist.add_expr('expr', False) - self.assertEqual(self.dist.penalties['expr'], [1.0, 0.0]) + self.assertEqual(self.dist._penalties['expr'], [1.0, 0.0]) def test_add_number(self): # Add a full penalty for each number of difference between two numbers. self.dist.add_number('number', 1, 1) - self.assertEqual(self.dist.penalties['number'], [0.0]) + self.assertEqual(self.dist._penalties['number'], [0.0]) self.dist.add_number('number', 1, 2) - self.assertEqual(self.dist.penalties['number'], [0.0, 1.0]) + self.assertEqual(self.dist._penalties['number'], [0.0, 1.0]) self.dist.add_number('number', 2, 1) - self.assertEqual(self.dist.penalties['number'], [0.0, 1.0, 1.0]) + self.assertEqual(self.dist._penalties['number'], [0.0, 1.0, 1.0]) self.dist.add_number('number', -1, 2) - self.assertEqual(self.dist.penalties['number'], [0.0, 1.0, 1.0, 1.0, - 1.0, 1.0]) + self.assertEqual(self.dist._penalties['number'], [0.0, 1.0, 1.0, 1.0, + 1.0, 1.0]) def test_add_priority(self): self.dist.add_priority('priority', 'abc', 'abc') - self.assertEqual(self.dist.penalties['priority'], [0.0]) + self.assertEqual(self.dist._penalties['priority'], [0.0]) self.dist.add_priority('priority', 'def', ['abc', 'def', 'ghi']) - self.assertEqual(self.dist.penalties['priority'], [0.0, 0.25]) + self.assertEqual(self.dist._penalties['priority'], [0.0, 0.25]) self.dist.add_priority('priority', 'ghi', ['abc', 'def', - re.compile('GHI', re.I)]) - self.assertEqual(self.dist.penalties['priority'], [0.0, 0.25, 0.5]) + re.compile('GHI', re.I)]) + self.assertEqual(self.dist._penalties['priority'], [0.0, 0.25, 0.5]) self.dist.add_priority('priority', 'xyz', ['abc', 'def']) - self.assertEqual(self.dist.penalties['priority'], [0.0, 0.25, 0.5, 1.0]) + self.assertEqual(self.dist._penalties['priority'], [0.0, 0.25, 0.5, + 1.0]) def test_add_ratio(self): self.dist.add_ratio('ratio', 25, 100) - self.assertEqual(self.dist.penalties['ratio'], [0.25]) + self.assertEqual(self.dist._penalties['ratio'], [0.25]) self.dist.add_ratio('ratio', 10, 5) - self.assertEqual(self.dist.penalties['ratio'], [0.25, 1.0]) + self.assertEqual(self.dist._penalties['ratio'], [0.25, 1.0]) self.dist.add_ratio('ratio', -5, 5) - self.assertEqual(self.dist.penalties['ratio'], [0.25, 1.0, 0.0]) + self.assertEqual(self.dist._penalties['ratio'], [0.25, 1.0, 0.0]) self.dist.add_ratio('ratio', 5, 0) - self.assertEqual(self.dist.penalties['ratio'], [0.25, 1.0, 0.0, 0.0]) + self.assertEqual(self.dist._penalties['ratio'], [0.25, 1.0, 0.0, 0.0]) def test_add_string(self): dist = match.string_dist(u'abc', u'bcd') self.dist.add_string('string', u'abc', u'bcd') - self.assertEqual(self.dist.penalties['string'], [dist]) + self.assertEqual(self.dist._penalties['string'], [dist]) def test_distance(self): config['match']['distance_weights']['album'] = 2.0 @@ -224,8 +225,8 @@ class DistanceTest(unittest.TestCase): self.dist.update(dist) - self.assertEqual(self.dist.penalties, {'album': [0.5, 0.75, 0.25], - 'media': [1.0, 0.05]}) + self.assertEqual(self.dist._penalties, {'album': [0.5, 0.75, 0.25], + 'media': [1.0, 0.05]}) class TrackDistanceTest(unittest.TestCase): def test_identical_tracks(self): diff --git a/test/test_ui.py b/test/test_ui.py index bfdd53ddd..6cb09dcf1 100644 --- a/test/test_ui.py +++ b/test/test_ui.py @@ -607,7 +607,7 @@ class ShowChangeTest(_common.TestCase): mapping = dict(zip(items, info.tracks)) config['color'] = False album_dist = distance(items, info, mapping) - album_dist.penalties = {'album': [dist]} + album_dist._penalties = {'album': [dist]} commands.show_change( cur_artist, cur_album,