Temporarily disable portage.dep deprecation warnings for external api
authorZac Medico <zmedico@gentoo.org>
Tue, 17 Aug 2010 20:22:35 +0000 (13:22 -0700)
committerZac Medico <zmedico@gentoo.org>
Tue, 17 Aug 2010 20:22:35 +0000 (13:22 -0700)
consumers. Once the relevant api changes are in a portage release with
stable keywords, make these warnings unconditional.

bin/ebuild
bin/repoman
pym/_emerge/main.py
pym/portage/dep/__init__.py

index 658652f5ae6a39d041e0d2c54d52ccfee07571e1..3600881f35ed2178f5384d44fa9e1249998d7030 100755 (executable)
@@ -69,6 +69,7 @@ except ImportError:
        sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
        import portage
 
+portage.dep._internal_warnings = True
 from portage import os
 from portage import _encodings
 from portage import _shell_quote
index dc7dc3bf823c81639ec0835b9979389838848d95..bfe126f1885d462226c736fb80bf78ef003877d8 100755 (executable)
@@ -37,6 +37,7 @@ except ImportError:
        sys.path.insert(0, osp.join(osp.dirname(osp.dirname(osp.realpath(__file__))), "pym"))
        import portage
 portage._disable_legacy_globals()
+portage.dep._internal_warnings = True
 
 try:
        import xml.etree.ElementTree
index f8a8f22e49b9d641a4c4075b6f6cf54b534b7e03..c8a6ee4bfd071074119eeb54ca9f83e28bdcff31 100644 (file)
@@ -1241,6 +1241,7 @@ def check_procfs():
 def emerge_main():
        global portage  # NFC why this is necessary now - genone
        portage._disable_legacy_globals()
+       portage.dep._internal_warnings = True
        # Disable color until we're sure that it should be enabled (after
        # EMERGE_DEFAULT_OPTS has been parsed).
        portage.output.havecolor = 0
index a1669783592d5e7e31838995288f57027e7dd27c..84cc575269f521d022f3f69ab7e8bdbf18df1709 100644 (file)
@@ -39,6 +39,11 @@ import portage.cache.mappings
 if sys.hexversion >= 0x3000000:
        basestring = str
 
+# Api consumers included in portage should set this to True.
+# Once the relevant api changes are in a portage release with
+# stable keywords, make these warnings unconditional.
+_internal_warnings = False
+
 def cpvequal(cpv1, cpv2):
        """
        
@@ -97,8 +102,9 @@ def paren_reduce(mystr):
        @rtype: Array
        @return: The reduced string in an array
        """
-       warnings.warn(_("%s is deprecated and will be removed without replacement.") % \
-               ('portage.dep.paren_reduce',), DeprecationWarning, stacklevel=2)
+       if _internal_warnings:
+               warnings.warn(_("%s is deprecated and will be removed without replacement.") % \
+                       ('portage.dep.paren_reduce',), DeprecationWarning, stacklevel=2)
        mysplit = mystr.split()
        level = 0
        stack = [[]]
@@ -164,8 +170,9 @@ class paren_normalize(list):
        """Take a dependency structure as returned by paren_reduce or use_reduce
        and generate an equivalent structure that has no redundant lists."""
        def __init__(self, src):
-               warnings.warn(_("%s is deprecated and will be removed without replacement.") % \
-                       ('portage.dep.paren_normalize',), DeprecationWarning, stacklevel=2)
+               if _internal_warnings:
+                       warnings.warn(_("%s is deprecated and will be removed without replacement.") % \
+                               ('portage.dep.paren_normalize',), DeprecationWarning, stacklevel=2)
                list.__init__(self)
                self._zap_parens(src, self)
 
@@ -252,9 +259,10 @@ def use_reduce(depstr, uselist=[], masklist=[], matchall=False, excludeall=[], i
        @return: The use reduced depend array
        """
        if isinstance(depstr, list):
-               warnings.warn(_("Passing paren_reduced dep arrays to %s is deprecated. " + \
-                       "Pass the original dep string instead.") % \
-                       ('portage.dep.use_reduce',), DeprecationWarning, stacklevel=2)
+               if _internal_warnings:
+                       warnings.warn(_("Passing paren_reduced dep arrays to %s is deprecated. " + \
+                               "Pass the original dep string instead.") % \
+                               ('portage.dep.use_reduce',), DeprecationWarning, stacklevel=2)
                depstr = paren_enclose(depstr)
 
        if opconvert and flat:
@@ -464,8 +472,9 @@ def dep_opconvert(deplist):
        @return:
                The new list with the new ordering
        """
-       warnings.warn(_("%s is deprecated. Use %s with the opconvert parameter set to True instead.") % \
-               ('portage.dep.dep_opconvert', 'portage.dep.use_reduce'), DeprecationWarning, stacklevel=2)
+       if _internal_warnings:
+               warnings.warn(_("%s is deprecated. Use %s with the opconvert parameter set to True instead.") % \
+                       ('portage.dep.dep_opconvert', 'portage.dep.use_reduce'), DeprecationWarning, stacklevel=2)
 
        retlist = []
        x = 0
@@ -494,8 +503,9 @@ def flatten(mylist):
        @rtype: List
        @return: A single list containing only non-list elements.
        """
-       warnings.warn(_("%s is deprecated and will be removed without replacement.") % \
-               ('portage.dep.flatten',), DeprecationWarning, stacklevel=2)
+       if _internal_warnings:
+               warnings.warn(_("%s is deprecated and will be removed without replacement.") % \
+                       ('portage.dep.flatten',), DeprecationWarning, stacklevel=2)
 
        newlist = []
        for x in mylist: