From b1fb17c29c1b88eccd35f2b3bac5b040467b17d4 Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Fri, 1 Jul 2016 21:03:00 -0700 Subject: [PATCH] UFID tags store strings as encoded bytes --- beets/mediafile.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/beets/mediafile.py b/beets/mediafile.py index 13d9b9920..3deeee31d 100644 --- a/beets/mediafile.py +++ b/beets/mediafile.py @@ -725,7 +725,7 @@ class MP3ListStorageStyle(ListStorageStyle, MP3StorageStyle): class MP3UFIDStorageStyle(MP3StorageStyle): - """Store data in a UFID ID3 frame with a particular owner. + """Store string data in a UFID ID3 frame with a particular owner. """ def __init__(self, owner, **kwargs): self.owner = owner @@ -738,6 +738,10 @@ class MP3UFIDStorageStyle(MP3StorageStyle): return None def store(self, mutagen_file, value): + # This field type stores text data as encoded data. + assert isinstance(value, six.text_type) + value = value.encode('utf8') + frames = mutagen_file.tags.getall(self.key) for frame in frames: # Replace existing frame data.