Replace dict.keys() usage with __iter__(), since it behaves identically in
authorZac Medico <zmedico@gentoo.org>
Tue, 22 Sep 2009 20:43:34 +0000 (20:43 -0000)
committerZac Medico <zmedico@gentoo.org>
Tue, 22 Sep 2009 20:43:34 +0000 (20:43 -0000)
both python 2.x and 3.x.

svn path=/main/trunk/; revision=14382

pym/portage/cache/mappings.py
pym/portage/cache/template.py

index b777ed1d00af30bd197a85000ebf51bad0cc36fd..a6c111897261d3b826bbf6a5173843c1c4085bbc 100644 (file)
@@ -226,9 +226,9 @@ class ProtectedDict(MutableMapping):
                        
 
        def __iter__(self):
-               for k in self.new.keys():
+               for k in self.new:
                        yield k
-               for k in self.orig.keys():
+               for k in self.orig:
                        if k not in self.blacklist and k not in self.new:
                                yield k
 
index 9e779520b3422c417503d7d03df03bfa5f33e994..3b003b1f674f281fba250a6baaebc10b6940bb26 100644 (file)
@@ -68,8 +68,8 @@ class database(object):
                        raise cache_errors.ReadOnlyRestriction()
                if self.cleanse_keys:
                        d=ProtectedDict(values)
-                       for k in list(d.keys()):
-                               if d[k] == '':
+                       for k, v in list(d.items()):
+                               if not v:
                                        del d[k]
                        if self.serialize_eclasses and "_eclasses_" in values:
                                d["_eclasses_"] = serialize_eclasses(d["_eclasses_"])
@@ -110,13 +110,13 @@ class database(object):
                return cpv in self
 
        def keys(self):
-               return tuple(self.keys())
+               return list(self)
 
        def iterkeys(self):
                return iter(self)
 
        def iteritems(self):
-               for x in self.keys():
+               for x in self:
                        yield (x, self[x])
 
        def items(self):
@@ -182,7 +182,7 @@ class database(object):
                        if key not in self.__known_keys:
                                raise InvalidRestriction(key, match, "Key isn't valid")
 
-               for cpv in self.keys():
+               for cpv in self:
                        cont = True
                        vals = self[cpv]
                        for key, match in restricts.items():