Skip to content

Commit d5f131d

Browse files
committed
PICARD-2307: Fix ValueError for Vorbis when deleting invalid tags
1 parent 7a37e25 commit d5f131d

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

picard/formats/vorbis.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ def _remove_deleted_tags(self, metadata, tags):
321321
"""Remove the tags from the file that were deleted in the UI"""
322322
for tag in metadata.deleted_tags:
323323
real_name = self._get_tag_name(tag)
324-
if real_name and real_name in tags:
324+
if is_valid_key(real_name) and real_name in tags:
325325
if real_name in ('performer', 'comment'):
326326
parts = tag.split(':', 1)
327327
if len(parts) == 2:

test/formats/test_vorbis.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,15 @@ def test_delete_totaldiscs_totaltracks(self):
184184
self.assertNotIn('tracktotal', loaded_metadata)
185185
self.assertNotIn('totaltracks', loaded_metadata)
186186

187+
@skipUnlessTestfile
188+
def test_delete_invalid_tagname(self):
189+
# Deleting tags that are not valid Vorbis tag names must not trigger
190+
# an error
191+
for invalid_tag in INVALID_KEYS:
192+
metadata = Metadata()
193+
del metadata[invalid_tag]
194+
save_metadata(self.filename, metadata)
195+
187196

188197
class FLACTest(CommonVorbisTests.VorbisTestCase):
189198
testfile = 'test.flac'

0 commit comments

Comments
 (0)