From 0c93b64584c7067d7a5f6876ded2a59ad021d3bc Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
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(-)

(limited to 'wsgitools')

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