From 5befad8ba09172071c03d055f04eaae666eed03d Mon Sep 17 00:00:00 2001 From: Adrian Sampson Date: Sat, 10 Mar 2012 12:33:19 +0000 Subject: [PATCH] lyrics safely decoded from bytes --- beets/mediafile.py | 2 ++ beetsplug/lyrics.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/beets/mediafile.py b/beets/mediafile.py index 0ff1239ec..15b9912af 100644 --- a/beets/mediafile.py +++ b/beets/mediafile.py @@ -455,6 +455,8 @@ class MediaField(object): if self.out_type == bool: # store bools as 1,0 instead of True,False out = unicode(int(out)) + elif isinstance(out, str): + out = out.decode('utf8', 'ignore') else: out = unicode(out) elif style.as_type == int: diff --git a/beetsplug/lyrics.py b/beetsplug/lyrics.py index d74249037..7be1ae659 100644 --- a/beetsplug/lyrics.py +++ b/beetsplug/lyrics.py @@ -124,6 +124,8 @@ def get_lyrics(artist, title): for backend in BACKENDS: lyrics = backend(artist, title) if lyrics: + if isinstance(lyrics, str): + lyrics = lyrics.decode('utf8', 'ignore') return lyrics