From 0c93b64584c7067d7a5f6876ded2a59ad021d3bc Mon Sep 17 00:00:00 2001 From: Helmut Grohne Date: Sun, 24 Jul 2011 22:07:17 +0200 Subject: filters.escape_string: do not consider \ printable Otherwise escape_string is not reversible. --- wsgitools/filters.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wsgitools/filters.py b/wsgitools/filters.py index 7062357..1c3fadc 100644 --- a/wsgitools/filters.py +++ b/wsgitools/filters.py @@ -203,9 +203,10 @@ class WSGIFilterMiddleware: # Using map and lambda here since pylint cannot handle list comprehension in # default arguments. Also note that neither ' nor " are considered printable. +# For escape_string to be reversible \ is also not considered printable. def escape_string(string, replacer=list(map( lambda i: chr(i) if chr(i).isalnum() or - chr(i) in '!#$%&()*+,-./:;<=>?@[\\]^_`{|}~ ' else + chr(i) in '!#$%&()*+,-./:;<=>?@[]^_`{|}~ ' else r"\x%2.2x" % i, range(256)))): """Encodes non-printable characters in a string using \\xXX escapes. -- cgit v1.2.3