Skip to content

Commit 25f705c

Browse files
committed
Add multi-value variants of mb_artistid and mb_albumartistid.
Tags are now interpreted as lists. Resolves beetbox#43
1 parent 7ecd861 commit 25f705c

File tree

2 files changed

+21
-10
lines changed

2 files changed

+21
-10
lines changed

mediafile.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1994,18 +1994,27 @@ def update(self, dict):
19941994
StorageStyle('MUSICBRAINZ_ALBUMID'),
19951995
ASFStorageStyle('MusicBrainz/Album Id'),
19961996
)
1997-
mb_artistid = MediaField(
1998-
MP3DescStorageStyle(u'MusicBrainz Artist Id'),
1999-
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Artist Id'),
2000-
StorageStyle('MUSICBRAINZ_ARTISTID'),
1997+
mb_artistids = ListMediaField(
1998+
MP3ListDescStorageStyle(u'MusicBrainz Artist Id', split_v23=True),
1999+
MP4ListStorageStyle('----:com.apple.iTunes:MusicBrainz Artist Id'),
2000+
ListStorageStyle('MUSICBRAINZ_ARTISTID'),
20012001
ASFStorageStyle('MusicBrainz/Artist Id'),
20022002
)
2003-
mb_albumartistid = MediaField(
2004-
MP3DescStorageStyle(u'MusicBrainz Album Artist Id'),
2005-
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Album Artist Id'),
2006-
StorageStyle('MUSICBRAINZ_ALBUMARTISTID'),
2003+
mb_artistid = mb_artistids.single_field()
2004+
2005+
mb_albumartistids = ListMediaField(
2006+
MP3ListDescStorageStyle(
2007+
u'MusicBrainz Album Artist Id',
2008+
split_v23=True,
2009+
),
2010+
MP4ListStorageStyle(
2011+
'----:com.apple.iTunes:MusicBrainz Album Artist Id',
2012+
),
2013+
ListStorageStyle('MUSICBRAINZ_ALBUMARTISTID'),
20072014
ASFStorageStyle('MusicBrainz/Album Artist Id'),
20082015
)
2016+
mb_albumartistid = mb_albumartistids.single_field()
2017+
20092018
mb_releasegroupid = MediaField(
20102019
MP3DescStorageStyle(u'MusicBrainz Release Group Id'),
20112020
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Release Group Id'),

test/test_mediafile.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -991,8 +991,10 @@ def test_properties_from_readable_fields(self):
991991

992992
def test_known_fields(self):
993993
fields = list(ReadWriteTestBase.tag_fields)
994-
fields.extend(('encoder', 'images', 'genres', 'albumtype', 'artists',
995-
'albumartists', 'url'))
994+
fields.extend(
995+
('encoder', 'images', 'genres', 'albumtype', 'artists',
996+
'albumartists', 'url', 'mb_artistids', 'mb_albumartistids')
997+
)
996998
assertCountEqual(self, MediaFile.fields(), fields)
997999

9981000
def test_fields_in_readable_fields(self):

0 commit comments

Comments
 (0)