diff --git a/beets/ui/commands.py b/beets/ui/commands.py index 6ab8d7973..c3016fac7 100644 --- a/beets/ui/commands.py +++ b/beets/ui/commands.py @@ -181,6 +181,7 @@ def show_change(cur_artist, cur_album, match): # Tracks. pairs = match.mapping.items() pairs.sort(key=lambda (_, track_info): track_info.index) + max_title_len = max([len(item.title) for item, track_info in pairs]) for item, track_info in pairs: # Get displayable LHS and RHS values. cur_track = unicode(item.track) @@ -205,13 +206,14 @@ def show_change(cur_artist, cur_album, match): cur_title = displayable_path(os.path.basename(item.path)) if cur_title != new_title: - lhs, rhs = cur_title, new_title + pad = ' ' * (max_title_len - len(item.title) + 1) + lhs, rhs = cur_title + pad, new_title if tracks_differ: lhs += u' (%s)' % cur_track rhs += u' (%s)' % new_track print_(u" * %s -> %s" % (lhs, rhs)) else: - line = u' * %s' % item.title + line = u' * %s' % item.title.ljust(max_title_len + 1) display = False if tracks_differ: display = True diff --git a/test/test_ui.py b/test/test_ui.py index d061ec918..710780b34 100644 --- a/test/test_ui.py +++ b/test/test_ui.py @@ -688,12 +688,12 @@ class ShowChangeTest(_common.TestCase): def test_item_data_change(self): self.items[0].title = 'different' msg = self._show_change() - self.assertTrue('different -> the title' in msg) + self.assertTrue('different -> the title' in msg) def test_item_data_change_with_unicode(self): self.items[0].title = u'caf\xe9' msg = self._show_change() - self.assertTrue(u'caf\xe9 -> the title' in msg.decode('utf8')) + self.assertTrue(u'caf\xe9 -> the title' in msg.decode('utf8')) def test_album_data_change_with_unicode(self): msg = self._show_change(cur_artist=u'caf\xe9', @@ -703,14 +703,14 @@ class ShowChangeTest(_common.TestCase): def test_item_data_change_title_missing(self): self.items[0].title = '' msg = self._show_change() - self.assertTrue('file.mp3 -> the title' in msg) + self.assertTrue('file.mp3 -> the title' in msg) def test_item_data_change_title_missing_with_unicode_filename(self): self.items[0].title = '' self.items[0].path = u'/path/to/caf\xe9.mp3'.encode('utf8') msg = self._show_change().decode('utf8') - self.assertTrue(u'caf\xe9.mp3 -> the title' in msg - or u'caf.mp3 ->' in msg) + self.assertTrue(u'caf\xe9.mp3 -> the title' in msg + or u'caf.mp3 ->' in msg) class PathFormatTest(_common.TestCase): def test_custom_paths_prepend(self):