Merge pull request #78 from mrmachine/align-changes

Align LHS and RHS changes. Put track/duration differences on RHS.
This commit is contained in:
Adrian Sampson 2013-01-30 19:11:13 -08:00
commit ea2e263834
2 changed files with 9 additions and 7 deletions

View file

@ -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

View file

@ -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):