Use the more modern six library to handle urllib, cStringIO, and cPickle.
Review Request #4924 — Created Nov. 8, 2013 and submitted
Use the more modern
six
library to handleurllib
,cStringIO
, andcPickle
.The
urlparse
,urllib
, andurllib2
modules have been significantly reworked in
Python 3 to provide a much more consistent interface.Additionally, the 'fast' versions of
StringIO
andpickle
are now merged with
the 'slow' versions, so in the future we'll be able to just useio.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.