mirror of
https://github.com/beetbox/beets.git
synced 2025-12-31 13:02:47 +01:00
extra_items and extra_tracks on AlbumInfo are now lists, sorted by track index and title.
This commit is contained in:
parent
7f068a8c03
commit
dc7e98fd22
2 changed files with 14 additions and 12 deletions
|
|
@ -192,8 +192,10 @@ def assign_items(items, tracks):
|
|||
|
||||
# Produce the output matching.
|
||||
mapping = dict((items[i], tracks[j]) for (i, j) in matching)
|
||||
extra_items = set(items) - set(mapping.keys())
|
||||
extra_tracks = set(tracks) - set(mapping.values())
|
||||
extra_items = list(set(items) - set(mapping.keys()))
|
||||
extra_items.sort(key=lambda i: (i.disc, i.track, i.title))
|
||||
extra_tracks = list(set(tracks) - set(mapping.values()))
|
||||
extra_tracks.sort(key=lambda t: (t.index, t.title))
|
||||
return mapping, extra_items, extra_tracks
|
||||
|
||||
def track_index_changed(item, track_info):
|
||||
|
|
|
|||
|
|
@ -409,8 +409,8 @@ class AssignmentTest(unittest.TestCase):
|
|||
trackinfo.append(TrackInfo(u'three', None))
|
||||
mapping, extra_items, extra_tracks = \
|
||||
match.assign_items(items, trackinfo)
|
||||
self.assertEqual(extra_items, set())
|
||||
self.assertEqual(extra_tracks, set())
|
||||
self.assertEqual(extra_items, [])
|
||||
self.assertEqual(extra_tracks, [])
|
||||
self.assertEqual(mapping, {
|
||||
items[0]: trackinfo[0],
|
||||
items[1]: trackinfo[2],
|
||||
|
|
@ -428,8 +428,8 @@ class AssignmentTest(unittest.TestCase):
|
|||
trackinfo.append(TrackInfo(u'three', None))
|
||||
mapping, extra_items, extra_tracks = \
|
||||
match.assign_items(items, trackinfo)
|
||||
self.assertEqual(extra_items, set())
|
||||
self.assertEqual(extra_tracks, set())
|
||||
self.assertEqual(extra_items, [])
|
||||
self.assertEqual(extra_tracks, [])
|
||||
self.assertEqual(mapping, {
|
||||
items[0]: trackinfo[0],
|
||||
items[1]: trackinfo[2],
|
||||
|
|
@ -446,8 +446,8 @@ class AssignmentTest(unittest.TestCase):
|
|||
trackinfo.append(TrackInfo(u'three', None))
|
||||
mapping, extra_items, extra_tracks = \
|
||||
match.assign_items(items, trackinfo)
|
||||
self.assertEqual(extra_items, set())
|
||||
self.assertEqual(extra_tracks, set([trackinfo[1]]))
|
||||
self.assertEqual(extra_items, [])
|
||||
self.assertEqual(extra_tracks, [[trackinfo[1]]])
|
||||
self.assertEqual(mapping, {
|
||||
items[0]: trackinfo[0],
|
||||
items[1]: trackinfo[2],
|
||||
|
|
@ -463,8 +463,8 @@ class AssignmentTest(unittest.TestCase):
|
|||
trackinfo.append(TrackInfo(u'three', None))
|
||||
mapping, extra_items, extra_tracks = \
|
||||
match.assign_items(items, trackinfo)
|
||||
self.assertEqual(extra_items, set([items[1]]))
|
||||
self.assertEqual(extra_tracks, set())
|
||||
self.assertEqual(extra_items, [[items[1]]])
|
||||
self.assertEqual(extra_tracks, [])
|
||||
self.assertEqual(mapping, {
|
||||
items[0]: trackinfo[0],
|
||||
items[2]: trackinfo[1],
|
||||
|
|
@ -513,8 +513,8 @@ class AssignmentTest(unittest.TestCase):
|
|||
|
||||
mapping, extra_items, extra_tracks = \
|
||||
match.assign_items(items, trackinfo)
|
||||
self.assertEqual(extra_items, set())
|
||||
self.assertEqual(extra_tracks, set())
|
||||
self.assertEqual(extra_items, [])
|
||||
self.assertEqual(extra_tracks, [])
|
||||
for item, info in mapping.iteritems():
|
||||
self.assertEqual(items.index(item), trackinfo.index(info))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue