Joshua Johnston added the comment:

If this was a function to encode a dict into something then I would see your 
point and agree. urlencode is specifically designed to work within the domain 
or URIs. In this domain, it is acceptable to have an empty value for a key in a 
query string. None is a representation of nothing, empty, null, the absence of 
a value. Therefore you would expect a function in the domain of URIs to 
construct a valid URI component when you specifically tell it to use None. 
Valid is up to you, either ignore the key-value pair completely, or use key[=&] 
to represent the empty value.

Take Requests as an example that gets it right:

    >>> import requests
    >>> requests.get('http://www.google.com/', params={'key': None}).url
    u'http://www.google.com/'
    >>> requests.get('http://www.google.com/', params={'key': ''}).url
    u'http://www.google.com/?key='

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue18857>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to