On Mon, Mar 30, 2009 at 1:28 PM, Eric Smith <eric@trueblade.com> wrote:
"**" converts the parameters to an ordinary dict. The caller does not receive the same object you call the function with. So any ordering of the values in the odict will be lost.

Right you are, sorry for the mental blunder. So what if the signature is as follows to support passing query parameters via an ordered dict:

add_query_params(url, params_dict=None, **kwargs)

with the following behaviour:

>>> pd = odict()
>>> pd['a'] = 1
>>> pd['b'] = 2
>>> add_query_params('http://foo.com/?a=0', pd, a=3)