Use the more modern six library to handle urllib, cStringIO, and cPickle.

Review Request #4924 — Created Nov. 8, 2013 and submitted

Information

Djblets
master

Reviewers

Use the more modern six library to handle urllib, cStringIO, and cPickle.

The urlparse, urllib, and urllib2 modules have been significantly reworked in
Python 3 to provide a much more consistent interface.

Additionally, the 'fast' versions of StringIO and pickle are now merged with
the 'slow' versions, so in the future we'll be able to just use io.StringIO and
pickle without the fallbacks.

six has some adaptations to help with this for the time being. It's not as
pretty as I would like, but it works.

  • Ran djblets unit tests.
  • Ran Review Board unit tests.
chipx86
  1. Looks fine. I'm curious how the moves thing works though.

  2. 
      
david
Review request changed
Status:
Completed
Change Summary:
Pushed to master (4356865)