Merge pull request #947 from phw/PICARD-1329-fix-saving-itunnorm

PICARD-1329: Fix saving iTunNORM tags to ID3
This commit is contained in:
Laurent Monin
2018-09-04 09:40:16 +02:00
committed by GitHub
2 changed files with 11 additions and 2 deletions

View File

@@ -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':

View File

@@ -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'