New submission from Martin Panter: This would be a simple API enhancement and would allow easier building of URLs, like
>>> SplitResult("rtp", address, query=urlencode(query)).geturl() "rtp://localhost:5004?rtcpport=5005" It seems the best way to do this at the moment is annoyingly verbose: SplitResult("rtp", address, path="", query=urlencode(query), fragment="").geturl() The way hinted by the documentation can leave an ugly empty query string: >>> query = () >>> "rtp://%s?%s" % (address, urlencode(query)) "rtp://localhost:5004?" This enhancement would also allow easy parsing of usernames, ports, etc: >>> SplitResult(netloc="[::1]:0").hostname "::1" >>> SplitResult(netloc="[::1]:0").port 0 Looking at the code, I think this could be implemented by adding an explicit constructor to each of the concrete classes, with arguments defaulting to "" or b"" as appropriate. ---------- components: Library (Lib) messages: 235584 nosy: vadmium priority: normal severity: normal status: open title: Make urllib.parse.SplitResult etc arguments optional type: enhancement _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23416> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com