Fixed #21574 -- Handle bytes consistently in utils.text.normalize_newlines.

All input is now coerced to text before being normalized.
This changes nothing under Python 2 but it allows bytes
to be passed to the function without a TypeError under Python3
(bytes are assumed to be utf-8 encoded text).

Thanks to trac user vajrasky for the report.
This commit is contained in:
Baptiste Mispelon 2013-12-12 15:58:14 +01:00
parent b9c7234e2a
commit 2c837233f5
2 changed files with 10 additions and 2 deletions

View file

@ -250,7 +250,9 @@ get_text_list = allow_lazy(get_text_list, six.text_type)
def normalize_newlines(text):
return force_text(re_newlines.sub('\n', text))
"""Normalizes CRLF and CR newlines to just LF."""
text = force_text(text)
return re_newlines.sub('\n', text)
normalize_newlines = allow_lazy(normalize_newlines, six.text_type)