mirror of
https://github.com/beetbox/beets.git
synced 2025-12-16 05:34:47 +01:00
Mutagen does not add empty tags
See for example https://github.com/nex3/mutagen/blob/master/mutagen/mp4.py#L521 https://github.com/nex3/mutagen/blob/master/mutagen/asf.py#L52
This commit is contained in:
parent
95bff36154
commit
694cce380b
1 changed files with 4 additions and 23 deletions
|
|
@ -300,17 +300,10 @@ class StorageStyle(object):
|
|||
def fetch(self, mediafile):
|
||||
"""Retrieve the first raw value of this tag from the mediafile."""
|
||||
try:
|
||||
entry = mediafile.mgfile[self.key]
|
||||
return mediafile.mgfile[self.key][0]
|
||||
except KeyError:
|
||||
return None
|
||||
|
||||
try:
|
||||
return entry[0]
|
||||
except:
|
||||
log.error('Mutagen exception when reading field: %s' %
|
||||
traceback.format_exc)
|
||||
return None
|
||||
|
||||
def get(self, mediafile):
|
||||
"""Retrieve the unpacked value of this field from the mediafile."""
|
||||
data = self.fetch(mediafile)
|
||||
|
|
@ -445,13 +438,8 @@ class MP4StorageStyle(StorageStyle):
|
|||
# Possibly index the list.
|
||||
if self.as_type == bool:
|
||||
return entry
|
||||
|
||||
try:
|
||||
else:
|
||||
return entry[0]
|
||||
except:
|
||||
log.error('Mutagen exception when reading field: %s' %
|
||||
traceback.format_exc)
|
||||
return None
|
||||
|
||||
def store(self, mediafile, value):
|
||||
if self.as_type != bool:
|
||||
|
|
@ -480,15 +468,9 @@ class MP3StorageStyle(StorageStyle):
|
|||
|
||||
def fetch(self, mediafile):
|
||||
try:
|
||||
frame = mediafile.mgfile[self.key]
|
||||
return mediafile.mgfile[self.key].text[0]
|
||||
except KeyError:
|
||||
return None
|
||||
try:
|
||||
return frame.text[0]
|
||||
except:
|
||||
log.error('Mutagen exception when reading field: %s' %
|
||||
traceback.format_exc)
|
||||
return None
|
||||
|
||||
def store(self, mediafile, value):
|
||||
frame = mutagen.id3.Frames[self.key](encoding=3, text=[value])
|
||||
|
|
@ -543,10 +525,9 @@ class MP3UFIDStorageStyle(MP3StorageStyle):
|
|||
|
||||
def fetch(self, mediafile):
|
||||
try:
|
||||
frame = mediafile.mgfile[self.key]
|
||||
return mediafile.mgfile[self.key].data
|
||||
except KeyError:
|
||||
return None
|
||||
return frame.data
|
||||
|
||||
def store(self, mediafile, value):
|
||||
frames = mediafile.mgfile.tags.getall(self.key)
|
||||
|
|
|
|||
Loading…
Reference in a new issue