---
 pym/portage/__init__.py       |    4 ++++
 pym/portage/cache/mappings.py |   12 +++++++++++-
 pym/portage/cache/template.py |    4 ++++
 3 files changed, 19 insertions(+), 1 deletions(-)

diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 9e29435..1564aba 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -30,6 +30,7 @@ try:
        import UserDict
        from itertools import chain, izip
        import platform
+       import warnings
 except ImportError, e:
        sys.stderr.write("\n\n")
        sys.stderr.write("!!! Failed to complete python imports. These are 
internal modules for\n")
@@ -2767,6 +2768,9 @@ class config(object):
                return v
 
        def has_key(self,mykey):
+               warnings.warn("portage.config.has_key() is deprecated, "
+                       "use the in operator instead",
+                       DeprecationWarning)
                return mykey in self
 
        def __contains__(self, mykey):
diff --git a/pym/portage/cache/mappings.py b/pym/portage/cache/mappings.py
index 9aa5a21..55616ca 100644
--- a/pym/portage/cache/mappings.py
+++ b/pym/portage/cache/mappings.py
@@ -4,6 +4,7 @@
 # $Id$
 
 import UserDict
+import warnings
 
 class ProtectedDict(UserDict.DictMixin):
        """
@@ -54,9 +55,15 @@ class ProtectedDict(UserDict.DictMixin):
                return list(self.__iter__())
 
 
-       def has_key(self, key):
+       def __contains__(self, key):
                return key in self.new or (key not in self.blacklist and key in 
self.orig)
 
+       def has_key(self, key):
+               warnings.warn("portage.cache.mapping.ProtectedDict.has_key() is"
+                       " deprecated, use the in operator instead",
+                       DeprecationWarning)
+               return key in self
+
 
 class LazyLoad(UserDict.DictMixin):
        """
@@ -90,6 +97,9 @@ class LazyLoad(UserDict.DictMixin):
 
 
        def has_key(self, key):
+               warnings.warn("portage.cache.mappings.LazyLoad.has_key() is "
+                       "deprecated, use the in operator instead",
+                       DeprecationWarning)
                return key in self
 
 
diff --git a/pym/portage/cache/template.py b/pym/portage/cache/template.py
index d5a0752..891a582 100644
--- a/pym/portage/cache/template.py
+++ b/pym/portage/cache/template.py
@@ -6,6 +6,7 @@
 from portage.cache import cache_errors
 from portage.cache.cache_errors import InvalidRestriction
 from portage.cache.mappings import ProtectedDict
+import warnings
 
 class database(object):
        # this is for metadata/cache transfer.
@@ -121,6 +122,9 @@ class database(object):
                if self.has_key is database.has_key:
                        # prevent a possible recursive loop
                        raise NotImplementedError
+               warnings.warn("portage.cache.template.database.has_key() is "
+                       "deprecated, override __contains__ instead",
+                       DeprecationWarning)
                return self.has_key(cpv)
 
        def __iter__(self):
-- 
1.5.6.1

-- 
gentoo-portage-dev@lists.gentoo.org mailing list

Reply via email to