classification
Title: update urlparse to RFC 3986
Type: enhancement Stage: resolved
Components: Library (Lib) Versions: Python 3.1, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: 1462525 Superseder:
Assigned To: jhylton Nosy List: dalke, jhylton, jjlee, orsenthil
Priority: normal Keywords: easy

Created on 2006-11-05 22:27 by dalke, last changed 2010-05-09 04:38 by orsenthil. This issue is now closed.

Messages (3)
msg61030 - (view) Author: Andrew Dalke (dalke) * (Python committer) Date: 2006-11-05 22:27
urlparse implements RFC 1808.  That is strongly out of
date.  The most recent is RFC 3986.

Here is a text from 4Suite

    # Reasons to avoid using urllib.basejoin() and
urlparse.urljoin():
    # - Both are partial implementations of
long-obsolete specs.
    # - Both accept relative URLs as the base, which no
spec allows.
    # - urllib.basejoin() mishandles the '' and '..'
references.
    # - If the base URL uses a non-hierarchical or
relative path,
    #    or if the URL scheme is unrecognized, the
result is not
    #    always as expected (partly due to issues in
RFC 1808).
    # - If the authority component of a 'file' URI is
empty,
    #    the authority component is removed altogether.
If it was
    #    not present, an empty authority component is
in the result.
    # - '.' and '..' segments are not always collapsed
as well as they
    #    should be (partly due to issues in RFC 1808).
    # - Effective Python 2.4, urllib.basejoin() *is*
urlparse.urljoin(),
    #    but urlparse.urljoin() is still based on RFC 1808.

See also the back python-dev discussions on "urlparse"
for examples of people wanting a better/more up-to-date
urlparse/urljoin.
msg61031 - (view) Author: Andrew Dalke (dalke) * (Python committer) Date: 2006-11-06 09:47
Logged In: YES 
user_id=190903

See also bug 1462525 which has a 'uriparse.py' replacement
for urlparse, claiming better compliance.
msg105373 - (view) Author: Senthil Kumaran (orsenthil) * (Python committer) Date: 2010-05-09 04:38
This is addressed and tests included as part of issue1462525.
History
Date User Action Args
2010-05-09 04:38:44orsenthilsetstatus: open -> closed
resolution: fixed
messages: + msg105373

stage: test needed -> resolved
2009-05-01 11:05:49orsenthilsetnosy: + orsenthil
2009-04-22 17:25:45ajaksu2setkeywords: + easy
versions: + Python 3.1
2009-02-13 01:36:07ajaksu2setnosy: + jjlee
dependencies: + URI parsing library
stage: test needed
versions: + Python 2.7
2008-05-06 20:26:32georg.brandlsetassignee: jhylton
nosy: + jhylton
2008-05-06 20:08:06georg.brandllinkissue1779700 superseder
2006-11-05 22:27:28dalkecreate