Blob Blame History Raw
From b9aef5ac624041f1427f61f7698a0b3f553b1d69 Mon Sep 17 00:00:00 2001
Message-Id: <b9aef5ac624041f1427f61f7698a0b3f553b1d69.1427492532.git.crobinso@redhat.com>
From: Cole Robinson <crobinso@redhat.com>
Date: Fri, 27 Mar 2015 17:32:42 -0400
Subject: [PATCH] brain: py2gi: Silence pygi deprecation warnings

The way we inspect gi modules can trigger python-gobject deprecation
warnings. At least on Fedora 22 this is very noisy with a ton of
warnings right after running pylint on gi using code.

Silence the specific pygi deprecation warnings.
---
 astroid/brain/py2gi.py | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/astroid/brain/py2gi.py b/astroid/brain/py2gi.py
index 6747898..8ff8c8f 100644
--- a/astroid/brain/py2gi.py
+++ b/astroid/brain/py2gi.py
@@ -7,6 +7,7 @@ import inspect
 import itertools
 import sys
 import re
+import warnings
 
 from astroid import MANAGER, AstroidBuildingException
 from astroid.builder import AstroidBuilder
@@ -135,7 +136,17 @@ def _import_gi_module(modname):
             for m in itertools.chain(modnames, optional_modnames):
                 try:
                     __import__(m)
-                    modcode += _gi_build_stub(sys.modules[m])
+                    with warnings.catch_warnings():
+                        # Just inspecting the code can raise gi deprecation
+                        # warnings, so ignore them.
+                        try:
+                            from gi import PyGIDeprecationWarning
+                            warnings.simplefilter("ignore",
+                                PyGIDeprecationWarning)
+                        except:
+                            pass
+
+                        modcode += _gi_build_stub(sys.modules[m])
                 except ImportError:
                     if m not in optional_modnames:
                         raise
-- 
2.3.3