mirror of
https://github.com/fergalmoran/picard.git
synced 2026-03-06 21:35:09 +00:00
PICARD-1723: Consider disc number when comparing metadata
Improves results when matching files to multi-disc albums.
This commit is contained in:
@@ -123,6 +123,8 @@ class Metadata(MutableMapping):
|
||||
('album', 12),
|
||||
('tracknumber', 6),
|
||||
('totaltracks', 5),
|
||||
('discnumber', 5),
|
||||
('totaldiscs', 4),
|
||||
]
|
||||
|
||||
multi_valued_joiner = MULTI_VALUED_JOINER
|
||||
@@ -172,7 +174,7 @@ class Metadata(MutableMapping):
|
||||
a = self[name]
|
||||
b = other[name]
|
||||
if a and b:
|
||||
if name in ('tracknumber', 'totaltracks'):
|
||||
if name in ('tracknumber', 'totaltracks', 'discnumber', 'totaldiscs'):
|
||||
try:
|
||||
ia = int(a)
|
||||
ib = int(b)
|
||||
|
||||
@@ -280,7 +280,20 @@ class MetadataTest(PicardTestCase):
|
||||
m1["tracknumber"] = "1"
|
||||
m2 = Metadata()
|
||||
m2["tracknumber"] = "2"
|
||||
m3 = Metadata()
|
||||
m3["tracknumber"] = "2"
|
||||
self.assertEqual(m1.compare(m2), 0)
|
||||
self.assertEqual(m2.compare(m3), 1)
|
||||
|
||||
def test_compare_discnumber_difference(self):
|
||||
m1 = Metadata()
|
||||
m1["discnumber"] = "1"
|
||||
m2 = Metadata()
|
||||
m2["discnumber"] = "2"
|
||||
m3 = Metadata()
|
||||
m3["discnumber"] = "2"
|
||||
self.assertEqual(m1.compare(m2), 0)
|
||||
self.assertEqual(m2.compare(m3), 1)
|
||||
|
||||
def test_compare_deleted(self):
|
||||
m1 = Metadata()
|
||||
|
||||
Reference in New Issue
Block a user