This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ztane
Recipients ztane
Date 2014-08-20.12:39:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1408538391.97.0.53072227801.issue22234@psf.upfronthosting.co.za>
In-reply-to
Content
Because of "if x else ''" in _decode_args (http://hg.python.org/cpython/file/3.4/Lib/urllib/parse.py#l96), urllib.parse.urlparse accepts any falsy value as an url, returning a ParseResultBytes with all members set to empty bytestrings.

Thus you get:

    >>> urllib.parse.urlparse({})
    ParseResultBytes(scheme=b'', netloc=b'', path=b'', params=b'', query=b'', fragment=b'')

which may result in some very confusing exceptions later on: I had a list of URLs that accidentally contained some Nones and got very confusing TypeErrors while processing the results expecting them to be strings.

If the `if x else ''` part were removed, such invalid falsy values would fail with `AttributeError: 'foo' object has no attribute 'decode'`, as happens with any truthy invalid value.
History
Date User Action Args
2014-08-20 12:39:52ztanesetrecipients: + ztane
2014-08-20 12:39:51ztanesetmessageid: <1408538391.97.0.53072227801.issue22234@psf.upfronthosting.co.za>
2014-08-20 12:39:51ztanelinkissue22234 messages
2014-08-20 12:39:51ztanecreate