On Sat, Mar 28, 2009 at 5:26 AM, Guido van Rossum <span dir="ltr"><<a href="mailto:guido@python.org">guido@python.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
There's way too much bikeshedding in this thread (not picking on you<br>
specifically). I think the originally proposed API is fine, except it<br>
should *not* reject duplicates. To add duplicates you'd just call it<br>
multiple times, e.g. add_query_params(add_query_params(url, a='x'),<br>
a='y'). It's a pretty minor use case anyways.</blockquote><div><br>So be it. I'll open a ticket and provide a patch, tests and documentation.<br><br>For people concerned about ordering -- you can always use an odict for passing the kwargs:<br>
<br>add_query_params('<a href="http://foo.com/" target="_blank">http://foo.com</a>', **odict('a' = 1, 'b' = 2))<br><br>For people concerned about syntactically more restrictive rules than application/x-www-form-urlencoded allows -- pass in the kwargs via ordinary dict:<br>
<br>add_query_params('<a href="http://foo.com/" target="_blank">http://foo.com</a>', **{'|"-/': 1, '': 2}) # note that py2k allows UTF-8 in argument names anyway<br><br>The latter is bad practice anyway.<br>
</div></div>