# HG changeset patch # User paulb # Date 1094153570 0 # Node ID 298e1509dff4125226472f05442e9ff0651bf385 # Parent 5f9836c6dd9d085e8d16540dccde66adcdc7664e [project @ 2004-09-02 19:32:50 by paulb] Added a simple query string tokenizer. diff -r 5f9836c6dd9d -r 298e1509dff4 WebStack/Helpers/Request.py --- a/WebStack/Helpers/Request.py Thu Sep 02 19:32:22 2004 +0000 +++ b/WebStack/Helpers/Request.py Thu Sep 02 19:32:50 2004 +0000 @@ -134,4 +134,29 @@ else: return field_str +def get_fields_from_query_string(query_string, decoder): + + """ + Returns a dictionary mapping field names to lists of values for the data + encoded in the given 'query_string'. Use the given 'decoder' function or + method to process the URL-encoded values. + """ + + fields = {} + + for pair in query_string.split("&"): + t = pair.split("=") + name = decoder(t[0]) + + if len(t) == 2: + value = decoder(t[1]) + else: + value = "" + + if not fields.has_key(name): + fields[name] = [] + fields[name].append(value) + + return fields + # vim: tabstop=4 expandtab shiftwidth=4