From: Greg Ward Date: Mon, 9 Dec 2002 16:23:08 +0000 (+0000) Subject: Fix SF bug #622831 (I think): add unicode_whitespace_trans class X-Git-Tag: v2.3c1~3088 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2e74541d7e715f3333a3d2bf0e9cac79f3871e0c;p=python Fix SF bug #622831 (I think): add unicode_whitespace_trans class attribute, and modify _munge_whitespace() to recognize Unicode strings and use unicode_whitespace_trans to munge them. Still need to add a test to make sure I've really fixed the bug. --- diff --git a/Lib/textwrap.py b/Lib/textwrap.py index 2c9592b6de..fc93b9b0af 100644 --- a/Lib/textwrap.py +++ b/Lib/textwrap.py @@ -51,6 +51,10 @@ class TextWrapper: whitespace_trans = string.maketrans(string.whitespace, ' ' * len(string.whitespace)) + unicode_whitespace_trans = {} + for c in string.whitespace: + unicode_whitespace_trans[ord(unicode(c))] = ord(u' ') + # This funky little regex is just the trick for splitting # text up into word-wrappable chunks. E.g. # "Hello there -- you goof-ball, use the -b option!" @@ -99,7 +103,10 @@ class TextWrapper: if self.expand_tabs: text = text.expandtabs() if self.replace_whitespace: - text = text.translate(self.whitespace_trans) + if isinstance(text, str): + text = text.translate(self.whitespace_trans) + elif isinstance(text, unicode): + text = text.translate(self.unicode_whitespace_trans) return text