mirror of
https://github.com/beetbox/beets.git
synced 2025-12-15 21:14:19 +01:00
use strings for *StorageStyle keys, not bytes
This commit is contained in:
parent
ab27031360
commit
a1609ec548
2 changed files with 56 additions and 56 deletions
|
|
@ -592,7 +592,7 @@ class MP4StorageStyle(StorageStyle):
|
|||
|
||||
def serialize(self, value):
|
||||
value = super(MP4StorageStyle, self).serialize(value)
|
||||
if self.key.startswith(b'----:') and isinstance(value, unicode):
|
||||
if self.key.startswith('----:') and isinstance(value, unicode):
|
||||
value = value.encode('utf8')
|
||||
return value
|
||||
|
||||
|
|
@ -667,7 +667,7 @@ class MP4ImageStorageStyle(MP4ListStorageStyle):
|
|||
"""Store images as MPEG-4 image atoms. Values are `Image` objects.
|
||||
"""
|
||||
def __init__(self, **kwargs):
|
||||
super(MP4ImageStorageStyle, self).__init__(key=b'covr', **kwargs)
|
||||
super(MP4ImageStorageStyle, self).__init__(key='covr', **kwargs)
|
||||
|
||||
def deserialize(self, data):
|
||||
return Image(data)
|
||||
|
|
@ -1547,25 +1547,25 @@ class MediaFile(object):
|
|||
|
||||
title = MediaField(
|
||||
MP3StorageStyle('TIT2'),
|
||||
MP4StorageStyle(b"\xa9nam"),
|
||||
MP4StorageStyle('\xa9nam'),
|
||||
StorageStyle('TITLE'),
|
||||
ASFStorageStyle('Title'),
|
||||
)
|
||||
artist = MediaField(
|
||||
MP3StorageStyle('TPE1'),
|
||||
MP4StorageStyle(b"\xa9ART"),
|
||||
MP4StorageStyle('\xa9ART'),
|
||||
StorageStyle('ARTIST'),
|
||||
ASFStorageStyle('Author'),
|
||||
)
|
||||
album = MediaField(
|
||||
MP3StorageStyle('TALB'),
|
||||
MP4StorageStyle(b"\xa9alb"),
|
||||
MP4StorageStyle('\xa9alb'),
|
||||
StorageStyle('ALBUM'),
|
||||
ASFStorageStyle('WM/AlbumTitle'),
|
||||
)
|
||||
genres = ListMediaField(
|
||||
MP3ListStorageStyle('TCON'),
|
||||
MP4ListStorageStyle(b"\xa9gen"),
|
||||
MP4ListStorageStyle('\xa9gen'),
|
||||
ListStorageStyle('GENRE'),
|
||||
ASFStorageStyle('WM/Genre'),
|
||||
)
|
||||
|
|
@ -1573,19 +1573,19 @@ class MediaFile(object):
|
|||
|
||||
composer = MediaField(
|
||||
MP3StorageStyle('TCOM'),
|
||||
MP4StorageStyle(b"\xa9wrt"),
|
||||
MP4StorageStyle('\xa9wrt'),
|
||||
StorageStyle('COMPOSER'),
|
||||
ASFStorageStyle('WM/Composer'),
|
||||
)
|
||||
grouping = MediaField(
|
||||
MP3StorageStyle('TIT1'),
|
||||
MP4StorageStyle(b"\xa9grp"),
|
||||
MP4StorageStyle('\xa9grp'),
|
||||
StorageStyle('GROUPING'),
|
||||
ASFStorageStyle('WM/ContentGroupDescription'),
|
||||
)
|
||||
track = MediaField(
|
||||
MP3SlashPackStorageStyle('TRCK', pack_pos=0),
|
||||
MP4TupleStorageStyle(b'trkn', index=0),
|
||||
MP4TupleStorageStyle('trkn', index=0),
|
||||
StorageStyle('TRACK'),
|
||||
StorageStyle('TRACKNUMBER'),
|
||||
ASFStorageStyle('WM/TrackNumber'),
|
||||
|
|
@ -1593,7 +1593,7 @@ class MediaFile(object):
|
|||
)
|
||||
tracktotal = MediaField(
|
||||
MP3SlashPackStorageStyle('TRCK', pack_pos=1),
|
||||
MP4TupleStorageStyle(b'trkn', index=1),
|
||||
MP4TupleStorageStyle('trkn', index=1),
|
||||
StorageStyle('TRACKTOTAL'),
|
||||
StorageStyle('TRACKC'),
|
||||
StorageStyle('TOTALTRACKS'),
|
||||
|
|
@ -1602,7 +1602,7 @@ class MediaFile(object):
|
|||
)
|
||||
disc = MediaField(
|
||||
MP3SlashPackStorageStyle('TPOS', pack_pos=0),
|
||||
MP4TupleStorageStyle(b'disk', index=0),
|
||||
MP4TupleStorageStyle('disk', index=0),
|
||||
StorageStyle('DISC'),
|
||||
StorageStyle('DISCNUMBER'),
|
||||
ASFStorageStyle('WM/PartOfSet'),
|
||||
|
|
@ -1610,7 +1610,7 @@ class MediaFile(object):
|
|||
)
|
||||
disctotal = MediaField(
|
||||
MP3SlashPackStorageStyle('TPOS', pack_pos=1),
|
||||
MP4TupleStorageStyle(b'disk', index=1),
|
||||
MP4TupleStorageStyle('disk', index=1),
|
||||
StorageStyle('DISCTOTAL'),
|
||||
StorageStyle('DISCC'),
|
||||
StorageStyle('TOTALDISCS'),
|
||||
|
|
@ -1619,13 +1619,13 @@ class MediaFile(object):
|
|||
)
|
||||
lyrics = MediaField(
|
||||
MP3DescStorageStyle(key='USLT'),
|
||||
MP4StorageStyle(b"\xa9lyr"),
|
||||
MP4StorageStyle('\xa9lyr'),
|
||||
StorageStyle('LYRICS'),
|
||||
ASFStorageStyle('WM/Lyrics'),
|
||||
)
|
||||
comments = MediaField(
|
||||
MP3DescStorageStyle(key='COMM'),
|
||||
MP4StorageStyle(b"\xa9cmt"),
|
||||
MP4StorageStyle('\xa9cmt'),
|
||||
StorageStyle('DESCRIPTION'),
|
||||
StorageStyle('COMMENT'),
|
||||
ASFStorageStyle('WM/Comments'),
|
||||
|
|
@ -1633,111 +1633,111 @@ class MediaFile(object):
|
|||
)
|
||||
bpm = MediaField(
|
||||
MP3StorageStyle('TBPM'),
|
||||
MP4StorageStyle(b'tmpo', as_type=int),
|
||||
MP4StorageStyle('tmpo', as_type=int),
|
||||
StorageStyle('BPM'),
|
||||
ASFStorageStyle('WM/BeatsPerMinute'),
|
||||
out_type=int,
|
||||
)
|
||||
comp = MediaField(
|
||||
MP3StorageStyle('TCMP'),
|
||||
MP4BoolStorageStyle(b'cpil'),
|
||||
MP4BoolStorageStyle('cpil'),
|
||||
StorageStyle('COMPILATION'),
|
||||
ASFStorageStyle('WM/IsCompilation', as_type=bool),
|
||||
out_type=bool,
|
||||
)
|
||||
albumartist = MediaField(
|
||||
MP3StorageStyle('TPE2'),
|
||||
MP4StorageStyle(b'aART'),
|
||||
MP4StorageStyle('aART'),
|
||||
StorageStyle('ALBUM ARTIST'),
|
||||
StorageStyle('ALBUMARTIST'),
|
||||
ASFStorageStyle('WM/AlbumArtist'),
|
||||
)
|
||||
albumtype = MediaField(
|
||||
MP3DescStorageStyle(u'MusicBrainz Album Type'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:MusicBrainz Album Type'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Album Type'),
|
||||
StorageStyle('MUSICBRAINZ_ALBUMTYPE'),
|
||||
ASFStorageStyle('MusicBrainz/Album Type'),
|
||||
)
|
||||
label = MediaField(
|
||||
MP3StorageStyle('TPUB'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:Label'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:publisher'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:Label'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:publisher'),
|
||||
StorageStyle('LABEL'),
|
||||
StorageStyle('PUBLISHER'), # Traktor
|
||||
ASFStorageStyle('WM/Publisher'),
|
||||
)
|
||||
artist_sort = MediaField(
|
||||
MP3StorageStyle('TSOP'),
|
||||
MP4StorageStyle(b"soar"),
|
||||
MP4StorageStyle('soar'),
|
||||
StorageStyle('ARTISTSORT'),
|
||||
ASFStorageStyle('WM/ArtistSortOrder'),
|
||||
)
|
||||
albumartist_sort = MediaField(
|
||||
MP3DescStorageStyle(u'ALBUMARTISTSORT'),
|
||||
MP4StorageStyle(b"soaa"),
|
||||
MP4StorageStyle('soaa'),
|
||||
StorageStyle('ALBUMARTISTSORT'),
|
||||
ASFStorageStyle('WM/AlbumArtistSortOrder'),
|
||||
)
|
||||
asin = MediaField(
|
||||
MP3DescStorageStyle(u'ASIN'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:ASIN"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:ASIN'),
|
||||
StorageStyle('ASIN'),
|
||||
ASFStorageStyle('MusicBrainz/ASIN'),
|
||||
)
|
||||
catalognum = MediaField(
|
||||
MP3DescStorageStyle(u'CATALOGNUMBER'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:CATALOGNUMBER"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:CATALOGNUMBER'),
|
||||
StorageStyle('CATALOGNUMBER'),
|
||||
ASFStorageStyle('WM/CatalogNo'),
|
||||
)
|
||||
disctitle = MediaField(
|
||||
MP3StorageStyle('TSST'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:DISCSUBTITLE"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:DISCSUBTITLE'),
|
||||
StorageStyle('DISCSUBTITLE'),
|
||||
ASFStorageStyle('WM/SetSubTitle'),
|
||||
)
|
||||
encoder = MediaField(
|
||||
MP3StorageStyle('TENC'),
|
||||
MP4StorageStyle(b"\xa9too"),
|
||||
MP4StorageStyle('\xa9too'),
|
||||
StorageStyle('ENCODEDBY'),
|
||||
StorageStyle('ENCODER'),
|
||||
ASFStorageStyle('WM/EncodedBy'),
|
||||
)
|
||||
script = MediaField(
|
||||
MP3DescStorageStyle(u'Script'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:SCRIPT"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:SCRIPT'),
|
||||
StorageStyle('SCRIPT'),
|
||||
ASFStorageStyle('WM/Script'),
|
||||
)
|
||||
language = MediaField(
|
||||
MP3StorageStyle('TLAN'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:LANGUAGE"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:LANGUAGE'),
|
||||
StorageStyle('LANGUAGE'),
|
||||
ASFStorageStyle('WM/Language'),
|
||||
)
|
||||
country = MediaField(
|
||||
MP3DescStorageStyle('MusicBrainz Album Release Country'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:MusicBrainz "
|
||||
b"Album Release Country"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz '
|
||||
'Album Release Country'),
|
||||
StorageStyle('RELEASECOUNTRY'),
|
||||
ASFStorageStyle('MusicBrainz/Album Release Country'),
|
||||
)
|
||||
albumstatus = MediaField(
|
||||
MP3DescStorageStyle(u'MusicBrainz Album Status'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:MusicBrainz Album Status"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Album Status'),
|
||||
StorageStyle('MUSICBRAINZ_ALBUMSTATUS'),
|
||||
ASFStorageStyle('MusicBrainz/Album Status'),
|
||||
)
|
||||
media = MediaField(
|
||||
MP3StorageStyle('TMED'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:MEDIA"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MEDIA'),
|
||||
StorageStyle('MEDIA'),
|
||||
ASFStorageStyle('WM/Media'),
|
||||
)
|
||||
albumdisambig = MediaField(
|
||||
# This tag mapping was invented for beets (not used by Picard, etc).
|
||||
MP3DescStorageStyle(u'MusicBrainz Album Comment'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:MusicBrainz Album Comment"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Album Comment'),
|
||||
StorageStyle('MUSICBRAINZ_ALBUMCOMMENT'),
|
||||
ASFStorageStyle('MusicBrainz/Album Comment'),
|
||||
)
|
||||
|
|
@ -1745,7 +1745,7 @@ class MediaFile(object):
|
|||
# Release date.
|
||||
date = DateField(
|
||||
MP3StorageStyle('TDRC'),
|
||||
MP4StorageStyle(b"\xa9day"),
|
||||
MP4StorageStyle('\xa9day'),
|
||||
StorageStyle('DATE'),
|
||||
ASFStorageStyle('WM/Year'),
|
||||
year=(StorageStyle('YEAR'),))
|
||||
|
|
@ -1757,7 +1757,7 @@ class MediaFile(object):
|
|||
# *Original* release date.
|
||||
original_date = DateField(
|
||||
MP3StorageStyle('TDOR'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:ORIGINAL YEAR'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:ORIGINAL YEAR'),
|
||||
StorageStyle('ORIGINALDATE'),
|
||||
ASFStorageStyle('WM/OriginalReleaseYear'))
|
||||
|
||||
|
|
@ -1768,13 +1768,13 @@ class MediaFile(object):
|
|||
# Nonstandard metadata.
|
||||
artist_credit = MediaField(
|
||||
MP3DescStorageStyle(u'Artist Credit'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:Artist Credit"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:Artist Credit'),
|
||||
StorageStyle('ARTIST_CREDIT'),
|
||||
ASFStorageStyle('beets/Artist Credit'),
|
||||
)
|
||||
albumartist_credit = MediaField(
|
||||
MP3DescStorageStyle(u'Album Artist Credit'),
|
||||
MP4StorageStyle(b"----:com.apple.iTunes:Album Artist Credit"),
|
||||
MP4StorageStyle('----:com.apple.iTunes:Album Artist Credit'),
|
||||
StorageStyle('ALBUMARTIST_CREDIT'),
|
||||
ASFStorageStyle('beets/Album Artist Credit'),
|
||||
)
|
||||
|
|
@ -1788,31 +1788,31 @@ class MediaFile(object):
|
|||
# MusicBrainz IDs.
|
||||
mb_trackid = MediaField(
|
||||
MP3UFIDStorageStyle(owner='http://musicbrainz.org'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:MusicBrainz Track Id'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Track Id'),
|
||||
StorageStyle('MUSICBRAINZ_TRACKID'),
|
||||
ASFStorageStyle('MusicBrainz/Track Id'),
|
||||
)
|
||||
mb_albumid = MediaField(
|
||||
MP3DescStorageStyle(u'MusicBrainz Album Id'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:MusicBrainz Album Id'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Album Id'),
|
||||
StorageStyle('MUSICBRAINZ_ALBUMID'),
|
||||
ASFStorageStyle('MusicBrainz/Album Id'),
|
||||
)
|
||||
mb_artistid = MediaField(
|
||||
MP3DescStorageStyle(u'MusicBrainz Artist Id'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:MusicBrainz Artist Id'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Artist Id'),
|
||||
StorageStyle('MUSICBRAINZ_ARTISTID'),
|
||||
ASFStorageStyle('MusicBrainz/Artist Id'),
|
||||
)
|
||||
mb_albumartistid = MediaField(
|
||||
MP3DescStorageStyle(u'MusicBrainz Album Artist Id'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:MusicBrainz Album Artist Id'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Album Artist Id'),
|
||||
StorageStyle('MUSICBRAINZ_ALBUMARTISTID'),
|
||||
ASFStorageStyle('MusicBrainz/Album Artist Id'),
|
||||
)
|
||||
mb_releasegroupid = MediaField(
|
||||
MP3DescStorageStyle(u'MusicBrainz Release Group Id'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:MusicBrainz Release Group Id'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:MusicBrainz Release Group Id'),
|
||||
StorageStyle('MUSICBRAINZ_RELEASEGROUPID'),
|
||||
ASFStorageStyle('MusicBrainz/Release Group Id'),
|
||||
)
|
||||
|
|
@ -1820,13 +1820,13 @@ class MediaFile(object):
|
|||
# Acoustid fields.
|
||||
acoustid_fingerprint = MediaField(
|
||||
MP3DescStorageStyle(u'Acoustid Fingerprint'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:Acoustid Fingerprint'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:Acoustid Fingerprint'),
|
||||
StorageStyle('ACOUSTID_FINGERPRINT'),
|
||||
ASFStorageStyle('Acoustid/Fingerprint'),
|
||||
)
|
||||
acoustid_id = MediaField(
|
||||
MP3DescStorageStyle(u'Acoustid Id'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:Acoustid Id'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:Acoustid Id'),
|
||||
StorageStyle('ACOUSTID_ID'),
|
||||
ASFStorageStyle('Acoustid/Id'),
|
||||
)
|
||||
|
|
@ -1847,11 +1847,11 @@ class MediaFile(object):
|
|||
id3_lang='eng'
|
||||
),
|
||||
MP4StorageStyle(
|
||||
b'----:com.apple.iTunes:replaygain_track_gain',
|
||||
float_places=2, suffix=b' dB'
|
||||
'----:com.apple.iTunes:replaygain_track_gain',
|
||||
float_places=2, suffix=' dB'
|
||||
),
|
||||
MP4SoundCheckStorageStyle(
|
||||
b'----:com.apple.iTunes:iTunNORM',
|
||||
'----:com.apple.iTunes:iTunNORM',
|
||||
index=0
|
||||
),
|
||||
StorageStyle(
|
||||
|
|
@ -1874,7 +1874,7 @@ class MediaFile(object):
|
|||
float_places=2, suffix=u' dB'
|
||||
),
|
||||
MP4SoundCheckStorageStyle(
|
||||
b'----:com.apple.iTunes:iTunNORM',
|
||||
'----:com.apple.iTunes:iTunNORM',
|
||||
index=1
|
||||
),
|
||||
StorageStyle(
|
||||
|
|
@ -1902,11 +1902,11 @@ class MediaFile(object):
|
|||
id3_lang='eng'
|
||||
),
|
||||
MP4StorageStyle(
|
||||
b'----:com.apple.iTunes:replaygain_track_peak',
|
||||
'----:com.apple.iTunes:replaygain_track_peak',
|
||||
float_places=6
|
||||
),
|
||||
MP4SoundCheckStorageStyle(
|
||||
b'----:com.apple.iTunes:iTunNORM',
|
||||
'----:com.apple.iTunes:iTunNORM',
|
||||
index=1
|
||||
),
|
||||
StorageStyle(u'REPLAYGAIN_TRACK_PEAK', float_places=6),
|
||||
|
|
@ -1923,7 +1923,7 @@ class MediaFile(object):
|
|||
float_places=6
|
||||
),
|
||||
MP4StorageStyle(
|
||||
b'----:com.apple.iTunes:replaygain_album_peak',
|
||||
'----:com.apple.iTunes:replaygain_album_peak',
|
||||
float_places=6
|
||||
),
|
||||
StorageStyle(u'REPLAYGAIN_ALBUM_PEAK', float_places=6),
|
||||
|
|
@ -1933,7 +1933,7 @@ class MediaFile(object):
|
|||
|
||||
initial_key = MediaField(
|
||||
MP3StorageStyle('TKEY'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:initialkey'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:initialkey'),
|
||||
StorageStyle('INITIALKEY'),
|
||||
ASFStorageStyle('INITIALKEY'),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -297,10 +297,10 @@ class GenreListTestMixin(object):
|
|||
|
||||
|
||||
field_extension = MediaField(
|
||||
MP3DescStorageStyle(b'customtag'),
|
||||
MP4StorageStyle(b'----:com.apple.iTunes:customtag'),
|
||||
StorageStyle(b'customtag'),
|
||||
ASFStorageStyle(b'customtag'),
|
||||
MP3DescStorageStyle('customtag'),
|
||||
MP4StorageStyle('----:com.apple.iTunes:customtag'),
|
||||
StorageStyle('customtag'),
|
||||
ASFStorageStyle('customtag'),
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue