From: Daniel Martí Date: Sun, 10 Jan 2016 16:54:38 +0000 (+0100) Subject: metadata: fix text wrapping on unicode characters X-Git-Tag: 0.6.0~32 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;ds=sidebyside;h=0cf2539c8931deedbafaf0fc22d5d2ff2d93a85b;p=fdroidserver.git metadata: fix text wrapping on unicode characters We were passing the utf-8 encoded string to textwrap, which took the bytes as characters. Hence multi-byte unicode characters (in utf-8) would count as multiple columns, which is clearly wrong. --- diff --git a/fdroidserver/metadata.py b/fdroidserver/metadata.py index 6e8bdf32..b1924357 100644 --- a/fdroidserver/metadata.py +++ b/fdroidserver/metadata.py @@ -525,9 +525,10 @@ class DescriptionFormatter: self.state = self.stNONE whole_para = ' '.join(self.para_lines) self.addtext(whole_para) - self.text.write(textwrap.fill(whole_para, 80, - break_long_words=False, - break_on_hyphens=False)) + wrapped = textwrap.fill(whole_para.decode('utf-8'), 80, + break_long_words=False, + break_on_hyphens=False) + self.text.write(wrapped.encode('utf-8')) self.html.write('

') del self.para_lines[:]