Articles

Python 2: My new URI/Unicode crusade

In Python on March 14, 2010 by Matt Giuca Tagged: , , ,

You may recall in 2008 I filed a bug on unicode URIs in Python 3, had a massive argument with the Python community, and ended up successfully getting a patch (a complete rewrite of urllib.parse.quote and unquote) accepted in Python 3.

Well two years later, I finally had the stamina to check out the situation with unicode URIs in Python 2. It’s just as bad, if not worse, than it was in Python 3. So I’m doing it all over again!

I’ve just submitted three patches (1, 2, 3) on four separate bugs relating to urllib.quote and urllib.unquote, all of which I already fixed in Python 3. Hopefully this time, the existing Python 3 precedent will mean less arguing. Also the fact that I made three separate patches will mean they’ll be accepted or rejected individually, rather than what happened last time, which was me having to maintain a giant patch fixing a dozen bugs over two months.

Advertisements

2 Responses to “Python 2: My new URI/Unicode crusade”

  1. One down!
    http://bugs.python.org/issue8135
    http://svn.python.org/view?view=rev&revision=79047

    Incidentally, it bugs me that there is no credit given in Python, if you submit a patch. Not having a go at the committer here. In almost all of patches I’ve had accepted, my name has not appeared in the commit log. This makes the project appear to be built entirely by a core group of committers, while those of us stuck submitting patches aren’t credited.

    This would be fixed by using a distributed VCS (they’re switching to Mercurial), as you would get credit for all of the sub-commits you make, even without direct commit access.

  2. Two down!
    http://bugs.python.org/issue1712522
    http://svn.python.org/view?view=rev&revision=82940

    Phew .. that was the big one for quote. Now unquote is still buggy.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: