From 217ea7d2747e3098009afe0b389fc4b45f55ea5a Mon Sep 17 00:00:00 2001 From: Chirayu Desai Date: Fri, 1 Mar 2013 19:14:38 +0530 Subject: 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 --- git_config.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'git_config.py') diff --git a/git_config.py b/git_config.py index 56cc6a24..9524df9b 100644 --- a/git_config.py +++ b/git_config.py @@ -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) -- cgit v1.2.3-54-g00ecf