]> granicus.if.org Git - python/commitdiff
Change parse_qsl() to accept control-name's with no equal sign (e.g., "name")
authorBrett Cannon <bcannon@gmail.com>
Sun, 21 Mar 2004 22:16:15 +0000 (22:16 +0000)
committerBrett Cannon <bcannon@gmail.com>
Sun, 21 Mar 2004 22:16:15 +0000 (22:16 +0000)
when keep_blank_values is true.

Lib/cgi.py

index 2576e75aafa88b28c467897670dbb10b8b451735..487b01e3f2ebb92e9ab90c82a5261a84763a1d0e 100755 (executable)
@@ -213,7 +213,11 @@ def parse_qsl(qs, keep_blank_values=0, strict_parsing=0):
         if len(nv) != 2:
             if strict_parsing:
                 raise ValueError, "bad query field: %r" % (name_value,)
-            continue
+            # Handle case of a control-name with no equal sign
+            if keep_blank_values:
+                nv.append('')
+            else:
+                continue
         if len(nv[1]) or keep_blank_values:
             name = urllib.unquote(nv[0].replace('+', ' '))
             value = urllib.unquote(nv[1].replace('+', ' '))