diff options
author | Zac Medico <zmedico@gentoo.org> | 2009-02-19 03:53:21 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2009-02-19 03:53:21 +0000 |
commit | b126f39af5f6b7eb3eec5a001bcef4e5ec61068a (patch) | |
tree | cde3efeeb8f44bbcde66421b8e943dc2fa6ed4cd | |
parent | 2da3f3e0ae5149545431bf23d690f338dd82a4a5 (diff) | |
download | portage-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
-rw-r--r-- | pym/portage/cache/mappings.py | 9 | ||||
-rw-r--r-- | pym/portage/cache/sql_template.py | 1 |
2 files changed, 10 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_"): diff --git a/pym/portage/cache/sql_template.py b/pym/portage/cache/sql_template.py index e5903cd67..47bef9124 100644 --- a/pym/portage/cache/sql_template.py +++ b/pym/portage/cache/sql_template.py @@ -280,3 +280,4 @@ class SQLDatabase(template.database): if sys.hexversion >= 0x3000000: items = iteritems + keys = __iter__ |