diff --git a/zuul/lib/clonemapper.py b/zuul/lib/clonemapper.py index ae558cd8d0..57ac177100 100644 --- a/zuul/lib/clonemapper.py +++ b/zuul/lib/clonemapper.py @@ -19,6 +19,9 @@ import logging import os import re +import six + + OrderedDict = extras.try_imports(['collections.OrderedDict', 'ordereddict.OrderedDict']) @@ -59,17 +62,17 @@ class CloneMapper(object): raise Exception("Expansion error. Check error messages above") self.log.info("Mapping projects to workspace...") - for project, dest in ret.iteritems(): + for project, dest in six.iteritems(ret): dest = os.path.normpath(os.path.join(workspace, dest[0])) ret[project] = dest self.log.info(" %s -> %s", project, dest) self.log.debug("Checking overlap in destination directories...") check = defaultdict(list) - for project, dest in ret.iteritems(): + for project, dest in six.iteritems(ret): check[dest].append(project) - dupes = dict((d, p) for (d, p) in check.iteritems() if len(p) > 1) + dupes = dict((d, p) for (d, p) in six.iteritems(check) if len(p) > 1) if dupes: raise Exception("Some projects share the same destination: %s", dupes) diff --git a/zuul/lib/cloner.py b/zuul/lib/cloner.py index f0235a6965..3155df68e5 100644 --- a/zuul/lib/cloner.py +++ b/zuul/lib/cloner.py @@ -19,6 +19,8 @@ import os import re import yaml +import six + from git import GitCommandError from zuul.lib.clonemapper import CloneMapper from zuul.merger.merger import Repo @@ -62,7 +64,7 @@ class Cloner(object): dests = mapper.expand(workspace=self.workspace) self.log.info("Preparing %s repositories", len(dests)) - for project, dest in dests.iteritems(): + for project, dest in six.iteritems(dests): self.prepareRepo(project, dest) self.log.info("Prepared all repositories")