From 2e74541d7e715f3333a3d2bf0e9cac79f3871e0c Mon Sep 17 00:00:00 2001 From: Greg Ward Date: Mon, 9 Dec 2002 16:23:08 +0000 Subject: [PATCH] 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. --- Lib/textwrap.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Lib/textwrap.py b/Lib/textwrap.py index 2c9592b6dea..fc93b9b0afd 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