[Python-Dev] textwrap.py wordsep_re
Greg Ward
gward at python.net
Thu Feb 24 14:04:32 CET 2005
On 21 February 2005, Karl Chen said:
> Except when the string to wrap contains dates -- which I would
> like not to be filled. In general I think wordsep_re can be
> smarter about what it decides are hyphenated words.
>
> For example, this code:
> print textwrap.fill('aaaaaaaaaa 2005-02-21', 18)
> produces:
> aaaaaaaaaa 2005-
> 02-21
Oops!
> A slightly tweaked wordsep_re:
> textwrap.TextWrapper.wordsep_re =\
> re.compile(r'(\s+|' # any whitespace
> r'[^\s\w]*\w+[a-zA-Z]-(?=[a-zA-Z]\w+)|' # hyphenated words
> r'(?<=[\w\!\"\'\&\.\,\?])-{2,}(?=\w))') # em-dash
> print textwrap.fill('aaaaaaaaaa 2005-02-21', 18)
> behaves better:
> aaaaaaaaaa
> 2005-02-21
Post a patch to SF and assign it to me. Make sure the unit tests still
pass, and add a new one that doesn't pass without your fix. Pester me
mercilessly until I act on it. (I think your change is probably fine,
but I need more time to examine it than I have right now.)
Greg
--
Greg Ward <gward at python.net> http://www.gerg.ca/
Cheops' Law: Nothing *ever* gets built on schedule or within budget.
More information about the Python-Dev
mailing list