diff --git a/picard/formats/id3.py b/picard/formats/id3.py index 8c2d8f097..942064334 100644 --- a/picard/formats/id3.py +++ b/picard/formats/id3.py @@ -358,9 +358,9 @@ class ID3File(File): tmcl.people.append([role, value]) elif name.startswith('comment:'): desc = name.split(':', 1)[1] - if desc.lower()[:4] == "itun": + if desc.lower()[:4] == 'itun': tags.delall('COMM:' + desc) - tags.add(id3.COMM(encoding=0, desc=desc, lang='eng', text=[v + b'\x00' for v in values])) + tags.add(id3.COMM(encoding=0, desc=desc, lang='eng', text=[v + '\x00' for v in values])) else: tags.add(id3.COMM(encoding=encoding, desc=desc, lang='eng', text=values)) elif name.startswith('lyrics:') or name == 'lyrics': diff --git a/test/test_formats.py b/test/test_formats.py index d9ca2201d..d3a4511f1 100644 --- a/test/test_formats.py +++ b/test/test_formats.py @@ -436,6 +436,15 @@ class CommonTests: self.assertIn(metadata['work'], loaded_metadata['work']) self.assertEqual(loaded_metadata['grouping'], '') + @skipUnlessTestfile + def test_save_itunnorm_tag(self): + config.setting['clear_existing_tags'] = True + iTunNORM = '00001E86 00001E86 0000A2A3 0000A2A3 000006A6 000006A6 000078FA 000078FA 00000211 00000211' + metadata = Metadata() + metadata['comment:iTunNORM'] = iTunNORM + new_metadata = save_and_load_metadata(self.filename, metadata) + self.assertEqual(new_metadata['comment:iTunNORM'], iTunNORM) + class FLACTest(CommonTests.FormatsTest): testfile = 'test.flac'