Skip to content

Commit e5c0460

Browse files
committed
Simplify modified tags cleanup when exiting the dialog
- use a generator for modified tags and their non-empty values - drop useless intermediate methods
1 parent 4ca6e5a commit e5c0460

1 file changed

Lines changed: 5 additions & 17 deletions

File tree

picard/ui/edittagdialog.py

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -514,30 +514,18 @@ def _modified_tag(self):
514514
list(self.metadata_box.tag_diff.new[self.tag]) or [""]
515515
)
516516

517-
def _cleanup_modified_tags(self):
518-
"""Remove empty values from modified tags."""
517+
def _modified_tags(self):
518+
"""Generate each modified tag and its non-empty values."""
519519
for tag, values in self.modified_tags.items():
520-
self.modified_tags[tag] = [v for v in values if v]
521-
522-
def _update_object_metadata(self, obj, modified_tags):
523-
"""Update the metadata for a single object with the modified tags.
524-
525-
Args:
526-
obj: The object to update
527-
modified_tags: Iterable of (tag, values) pairs to update
528-
"""
529-
for tag, values in modified_tags:
530-
obj.metadata[tag] = list(values)
531-
obj.update()
520+
yield (tag, [v for v in values if v])
532521

533522
def _update_metadata_with_modified_tags(self):
534523
"""Update the metadata of all objects with the modified tags."""
535524
self._metadata_mutex.lock()
536525
try:
537-
self._cleanup_modified_tags()
538-
modified_tags = self.modified_tags.items()
539526
for obj in self.metadata_box.objects:
540-
self._update_object_metadata(obj, modified_tags)
527+
obj.metadata.update(self._modified_tags())
528+
obj.update()
541529
finally:
542530
self._metadata_mutex.unlock()
543531

0 commit comments

Comments
 (0)