From 95b0a868f255f2766ae03733882f30c8c7f3b7ca Mon Sep 17 00:00:00 2001 From: Jeremy Heiner Date: Sat, 12 Oct 2013 12:44:33 -0400 Subject: Use dict iteration methods common to both Python 2 and 3. The .items, .keys, and .values methods in Python 2 make copies, so the test framework uses the .iter* flavors of those methods. But in Python 3 those .iter* (and even the 2.7 .view*) flavors are removed and the original methods return views. Measurements were taken under Python2 to see what impact the copying had, and there was none. Thus it is not worth the effort to avoid. Reported as a compatibility issue by 2to3. Signed-off-by: Jeremy Heiner Signed-off-by: Allan McRae --- test/pacman/pmdb.py | 4 ++-- test/pacman/pmpkg.py | 2 +- test/pacman/pmtest.py | 6 +++--- test/pacman/util.py | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/test/pacman/pmdb.py b/test/pacman/pmdb.py index b7b3522a..53de91e6 100644 --- a/test/pacman/pmdb.py +++ b/test/pacman/pmdb.py @@ -236,7 +236,7 @@ class pmdb(object): for pkg, entry in pkg_entries: path = os.path.join(self.dbdir, pkg.fullname()) util.mkdir(path) - for name, data in entry.iteritems(): + for name, data in entry.items(): util.mkfile(path, name, data) if self.dbfile: @@ -247,7 +247,7 @@ class pmdb(object): info = tarfile.TarInfo(pkg.fullname()) info.type = tarfile.DIRTYPE tar.addfile(info) - for name, data in entry.iteritems(): + for name, data in entry.items(): filename = os.path.join(pkg.fullname(), name) info = tarfile.TarInfo(filename) info.size = len(data) diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py index 24ef1e2b..6f7ae6e1 100644 --- a/test/pacman/pmpkg.py +++ b/test/pacman/pmpkg.py @@ -223,7 +223,7 @@ class pmpkg(object): def installfile(self): data = [] - for key, value in self.install.iteritems(): + for key, value in self.install.items(): if value: data.append("%s() {\n%s\n}\n" % (key, value)) diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py index 731a9fc7..a1f3645d 100644 --- a/test/pacman/pmtest.py +++ b/test/pacman/pmtest.py @@ -58,7 +58,7 @@ class pmtest(object): """Find a package object matching the name and version specified in either sync databases or the local package collection. The local database is allowed to match if allow_local is True.""" - for db in self.db.itervalues(): + for db in self.db.values(): if db.is_local and not allow_local: continue pkg = db.getpkg(name) @@ -151,7 +151,7 @@ class pmtest(object): vprint("\t%s" % os.path.join(util.TMPDIR, pkg.filename())) pkg.finalize() pkg.makepkg(tmpdir) - for key, value in self.db.iteritems(): + for key, value in self.db.items(): for pkg in value.pkgs: pkg.finalize() if key == "local" and not self.createlocalpkgs: @@ -167,7 +167,7 @@ class pmtest(object): # Creating sync database archives vprint(" Creating databases") - for key, value in self.db.iteritems(): + for key, value in self.db.items(): vprint("\t" + value.treename) value.generate() diff --git a/test/pacman/util.py b/test/pacman/util.py index c1ab390e..ab5a6f47 100644 --- a/test/pacman/util.py +++ b/test/pacman/util.py @@ -112,13 +112,13 @@ def writedata(filename, data): def mkcfgfile(filename, root, option, db): # Options data = ["[options]"] - for key, value in option.iteritems(): + for key, value in option.items(): data.extend(["%s = %s" % (key, j) for j in value]) # Repositories # sort by repo name so tests can predict repo order, rather than be # subjects to the whims of python dict() ordering - for key in sorted(db.iterkeys()): + for key in sorted(db.keys()): if key != "local": value = db[key] data.append("[%s]\n" \ @@ -126,7 +126,7 @@ def mkcfgfile(filename, root, option, db): "Server = file://%s" \ % (value.treename, value.getverify(), \ os.path.join(root, SYNCREPO, value.treename))) - for optkey, optval in value.option.iteritems(): + for optkey, optval in value.option.items(): data.extend(["%s = %s" % (optkey, j) for j in optval]) mkfile(root, filename, "\n".join(data)) -- cgit v1.2.3-70-g09d2