Skip to content

Commit f7d24dd

Browse files
committed
TagDiff.add(): use keyword arguments old & new for old & new values
- default to None
1 parent 2893ff7 commit f7d24dd

3 files changed

Lines changed: 27 additions & 27 deletions

File tree

picard/ui/metadatabox/__init__.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ def _update_tags(self, new_selection=True, drop_album_caches=False):
575575
new_values = list(orig_values or [""])
576576

577577
removed = tag in new_metadata.deleted_tags
578-
tag_diff.add(tag, orig_values, new_values, removed=removed, top_tags=top_tags_set)
578+
tag_diff.add(tag, old=orig_values, new=new_values, removed=removed, top_tags=top_tags_set)
579579

580580
tag_diff.add('~length', str(orig_metadata.length), str(new_metadata.length),
581581
removable=False, readonly=True)
@@ -584,7 +584,7 @@ def _update_tags(self, new_selection=True, drop_album_caches=False):
584584
new_filename = file.make_filename(file.filename, new_metadata)
585585
else:
586586
new_filename = file.filename
587-
tag_diff.add('~filepath', [file.filename], [new_filename], removable=False, readonly=True)
587+
tag_diff.add('~filepath', old=[file.filename], new=[new_filename], removable=False, readonly=True)
588588

589589
for track in tracks:
590590
if track.num_linked_files == 0:
@@ -594,10 +594,10 @@ def _update_tags(self, new_selection=True, drop_album_caches=False):
594594
orig_values = track.orig_metadata.getall(tag)
595595
else:
596596
orig_values = new_values
597-
tag_diff.add(tag, orig_values, new_values)
597+
tag_diff.add(tag, old=orig_values, new=new_values)
598598

599599
length = str(track.metadata.length)
600-
tag_diff.add('~length', length, length, removable=False, readonly=True)
600+
tag_diff.add('~length', old=length, new=length, removable=False, readonly=True)
601601

602602
tag_diff.objects += 1
603603

picard/ui/metadatabox/tagdiff.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -241,36 +241,36 @@ def is_readonly(self, tag):
241241
"""
242242
return bool(self.status[tag] & TagStatus.READONLY)
243243

244-
def add(self, tag, old_values, new_values, removable=True, removed=False, readonly=False, top_tags=None):
244+
def add(self, tag, old=None, new=None, removable=True, removed=False, readonly=False, top_tags=None):
245245
"""
246246
Adds tag information to the TagDiff and updates its status.
247247
248248
Args:
249249
tag: The tag name (string).
250-
old_values: The old tag value(s).
251-
new_values: The new tag value(s).
250+
old: The old tag value(s).
251+
new: The new tag value(s).
252252
removable (bool): Whether the tag can be removed.
253253
removed (bool): Whether the tag was marked as removed.
254254
readonly (bool): Whether the tag is read-only.
255255
top_tags (set): Set of top level tags
256256
"""
257-
if old_values:
258-
self.old.add(tag, old_values)
257+
if old:
258+
self.old.add(tag, old)
259259

260-
if new_values:
261-
self.new.add(tag, new_values)
260+
if new:
261+
self.new.add(tag, new)
262262

263263
if not top_tags:
264264
top_tags = set()
265265

266-
if (old_values and not new_values) or removed:
266+
if (old and not new) or removed:
267267
self.status[tag] |= TagStatus.REMOVED
268-
elif new_values and not old_values:
268+
elif new and not old:
269269
self.status[tag] |= TagStatus.ADDED
270270
removable = True
271-
elif old_values and new_values and self.__tag_ne(tag, old_values, new_values):
271+
elif old and new and self.__tag_ne(tag, old, new):
272272
self.status[tag] |= TagStatus.CHANGED
273-
elif not (old_values or new_values or tag in top_tags):
273+
elif not (old or new or tag in top_tags):
274274
self.status[tag] |= TagStatus.EMPTY
275275
else:
276276
self.status[tag] |= TagStatus.UNCHANGED

test/test_tagdiff.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -105,72 +105,72 @@ def setUp(self):
105105
self.tag_diff.objects = 3
106106

107107
def test_add_new_tag(self):
108-
self.tag_diff.add("artist", None, ["Artist 1"])
108+
self.tag_diff.add("artist", new=["Artist 1"])
109109
self.assertEqual(self.tag_diff.tag_status("artist"), TagStatus.ADDED)
110110
self.assertEqual(self.tag_diff.new["artist"], ["Artist 1"])
111111
self.assertIsNone(self.tag_diff.old.get("artist"))
112112

113113
def test_add_removed_tag(self):
114-
self.tag_diff.add("artist", ["Artist 1"], None)
114+
self.tag_diff.add("artist", old=["Artist 1"])
115115
self.assertEqual(self.tag_diff.tag_status("artist"), TagStatus.REMOVED)
116116
self.assertEqual(self.tag_diff.old["artist"], ["Artist 1"])
117117
self.assertIsNone(self.tag_diff.new.get("artist"))
118118

119119
def test_add_removed_removed_tag(self):
120-
self.tag_diff.add("artist", ["Artist 1"], None, removed=True)
120+
self.tag_diff.add("artist", old=["Artist 1"], removed=True)
121121
self.assertEqual(self.tag_diff.tag_status("artist"), TagStatus.REMOVED)
122122
self.assertEqual(self.tag_diff.old["artist"], ["Artist 1"])
123123
self.assertIsNone(self.tag_diff.new.get("artist"))
124124

125125
def test_add_changed_tag(self):
126-
self.tag_diff.add("artist", ["Artist 1"], ["Artist 2"])
126+
self.tag_diff.add("artist", old=["Artist 1"], new=["Artist 2"])
127127
self.assertEqual(self.tag_diff.tag_status("artist"), TagStatus.CHANGED)
128128
self.assertEqual(self.tag_diff.old["artist"], ["Artist 1"])
129129
self.assertEqual(self.tag_diff.new["artist"], ["Artist 2"])
130130

131131
def test_add_nochange_tag(self):
132-
self.tag_diff.add("artist", ["Artist 1"], ["Artist 1"])
132+
self.tag_diff.add("artist", old=["Artist 1"], new=["Artist 1"])
133133
self.assertEqual(self.tag_diff.tag_status("artist"), TagStatus.UNCHANGED)
134134
self.assertEqual(self.tag_diff.old["artist"], ["Artist 1"])
135135
self.assertEqual(self.tag_diff.new["artist"], ["Artist 1"])
136136

137137
def test_add_nochange_no_values(self):
138-
self.tag_diff.add("artist", None, None)
138+
self.tag_diff.add("artist")
139139
self.assertEqual(self.tag_diff.tag_status("artist"), TagStatus.EMPTY)
140140

141141
def test_add_nochange_no_values_top(self):
142-
self.tag_diff.add("artist", None, None, top_tags={"artist"})
142+
self.tag_diff.add("artist", top_tags={"artist"})
143143
self.assertEqual(self.tag_diff.tag_status("artist"), TagStatus.UNCHANGED)
144144

145145
def test_add_length_changed_2s(self):
146146
self.tag_diff = TagDiff(max_length_diff=2)
147147
self.tag_diff.objects = 3
148-
self.tag_diff.add("~length", 10000, 15000)
148+
self.tag_diff.add("~length", old=10000, new=15000)
149149
self.assertEqual(self.tag_diff.tag_status("~length"), TagStatus.CHANGED)
150150
self.assertEqual(self.tag_diff.old["~length"], 10000)
151151
self.assertEqual(self.tag_diff.new["~length"], 15000)
152152

153153
def test_add_length_no_changed_2s(self):
154154
self.tag_diff = TagDiff(max_length_diff=2)
155155
self.tag_diff.objects = 3
156-
self.tag_diff.add("~length", 10000, 12000)
156+
self.tag_diff.add("~length", old=10000, new=12000)
157157
self.assertEqual(self.tag_diff.tag_status("~length"), TagStatus.UNCHANGED)
158158
self.assertEqual(self.tag_diff.old["~length"], 10000)
159159
self.assertEqual(self.tag_diff.new["~length"], 12000)
160160

161161
def test_add_length_no_changed_1s(self):
162162
self.tag_diff = TagDiff(max_length_diff=1)
163163
self.tag_diff.objects = 3
164-
self.tag_diff.add("~length", 10000, 12000)
164+
self.tag_diff.add("~length", old=10000, new=12000)
165165
self.assertEqual(self.tag_diff.tag_status("~length"), TagStatus.CHANGED)
166166
self.assertEqual(self.tag_diff.old["~length"], 10000)
167167
self.assertEqual(self.tag_diff.new["~length"], 12000)
168168

169169
def test_is_readonly(self):
170-
self.tag_diff.add("artist", ["Artist 1"], ["Artist 2"], readonly=True)
170+
self.tag_diff.add("artist", old=["Artist 1"], new=["Artist 2"], readonly=True)
171171
self.assertTrue(self.tag_diff.is_readonly("artist"))
172172
self.assertFalse(self.tag_diff.is_readonly("unknown"))
173173

174174
def test_add_not_removable(self):
175-
self.tag_diff.add("artist", ["Artist 1"], ["Artist 2"], removable=False)
175+
self.tag_diff.add("artist", old=["Artist 1"], new=["Artist 2"], removable=False)
176176
self.assertEqual(self.tag_diff.status["artist"], TagStatus.CHANGED | TagStatus.NOTREMOVABLE)

0 commit comments

Comments
 (0)