1
0
Fork 0

Some fixes for supporting python3

* Fix imports.
* Use python3 syntax.
* Wrap map() calls with list().
* Use list() only wherever needed.
  (Thanks Conley!)
* Fix dictionary iteration methods
  (s/iteritems/items/).
* Make use of sorted() in appropriate places
* Use iterators directly in the loop.
* Don't use .keys() wherever it isn't needed.
* Use sys.maxsize instead of sys.maxint

TODO:
* Make repo work fully with python3. :)

Some of this was done by the '2to3' tool [1], by
applying the needed fixes in a way that doesn't
break compatibility with python2.

Links:
[1]: http://docs.python.org/2/library/2to3.html

Change-Id: Ibdf3bf9a530d716db905733cb9bfef83a48820f7
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
This commit is contained in:
Chirayu Desai 2013-03-01 19:14:38 +05:30
parent fef4ae74e2
commit 217ea7d274
14 changed files with 130 additions and 90 deletions

View file

@ -14,8 +14,9 @@
# limitations under the License.
from __future__ import print_function
import cPickle
import os
import pickle
import re
import subprocess
import sys
@ -262,7 +263,7 @@ class GitConfig(object):
Trace(': unpickle %s', self.file)
fd = open(self._pickle, 'rb')
try:
return cPickle.load(fd)
return pickle.load(fd)
finally:
fd.close()
except EOFError:
@ -271,7 +272,7 @@ class GitConfig(object):
except IOError:
os.remove(self._pickle)
return None
except cPickle.PickleError:
except pickle.PickleError:
os.remove(self._pickle)
return None
@ -279,13 +280,13 @@ class GitConfig(object):
try:
fd = open(self._pickle, 'wb')
try:
cPickle.dump(cache, fd, cPickle.HIGHEST_PROTOCOL)
pickle.dump(cache, fd, pickle.HIGHEST_PROTOCOL)
finally:
fd.close()
except IOError:
if os.path.exists(self._pickle):
os.remove(self._pickle)
except cPickle.PickleError:
except pickle.PickleError:
if os.path.exists(self._pickle):
os.remove(self._pickle)
@ -537,8 +538,8 @@ class Remote(object):
self.url = self._Get('url')
self.review = self._Get('review')
self.projectname = self._Get('projectname')
self.fetch = map(RefSpec.FromString,
self._Get('fetch', all_keys=True))
self.fetch = list(map(RefSpec.FromString,
self._Get('fetch', all_keys=True)))
self._review_url = None
def _InsteadOf(self):
@ -657,7 +658,7 @@ class Remote(object):
self._Set('url', self.url)
self._Set('review', self.review)
self._Set('projectname', self.projectname)
self._Set('fetch', map(str, self.fetch))
self._Set('fetch', list(map(str, self.fetch)))
def _Set(self, key, value):
key = 'remote.%s.%s' % (self.name, key)