summaryrefslogtreecommitdiffstats
path: root/pym/portage/cache/mappings.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-02-19 03:53:21 +0000
committerZac Medico <zmedico@gentoo.org>2009-02-19 03:53:21 +0000
commitb126f39af5f6b7eb3eec5a001bcef4e5ec61068a (patch)
treecde3efeeb8f44bbcde66421b8e943dc2fa6ed4cd /pym/portage/cache/mappings.py
parent2da3f3e0ae5149545431bf23d690f338dd82a4a5 (diff)
downloadportage-b126f39af5f6b7eb3eec5a001bcef4e5ec61068a.tar.gz
portage-b126f39af5f6b7eb3eec5a001bcef4e5ec61068a.tar.bz2
portage-b126f39af5f6b7eb3eec5a001bcef4e5ec61068a.zip
Fix classes that implement __iter__() to copy it to their keys() method
when running under >=python-3.0. svn path=/main/trunk/; revision=12632
Diffstat (limited to 'pym/portage/cache/mappings.py')
-rw-r--r--pym/portage/cache/mappings.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/pym/portage/cache/mappings.py b/pym/portage/cache/mappings.py
index a767e1bc5..5fe836daa 100644
--- a/pym/portage/cache/mappings.py
+++ b/pym/portage/cache/mappings.py
@@ -165,6 +165,9 @@ class UserDict(MutableMapping):
def clear(self):
self.data.clear()
+ if sys.hexversion >= 0x3000000:
+ keys = __iter__
+
class ProtectedDict(MutableMapping):
"""
given an initial dict, this wraps that dict storing changes in a secondary dict, protecting
@@ -218,6 +221,9 @@ class ProtectedDict(MutableMapping):
DeprecationWarning)
return key in self
+ if sys.hexversion >= 0x3000000:
+ keys = __iter__
+
class LazyLoad(Mapping):
"""
Lazy loading of values for a dict
@@ -259,6 +265,9 @@ class LazyLoad(Mapping):
self.pull = None
return key in self.d
+ if sys.hexversion >= 0x3000000:
+ keys = __iter__
+
_slot_dict_classes = weakref.WeakValueDictionary()
def slot_dict_class(keys, prefix="_val_"):