Source code for pyquickhelper.pycode.default_filter_warning
"""
Function which filters ou warnings after running the unit test
:githublink:`%|py|5`
"""
import warnings
[docs]def default_filter_warning(w): # pragma: no cover
"""
Filters out warnings.
:param w: warning
:return: boolean (True to keep it)
Interesting fields: ``w.message``, ``w.category``, ``w.filename``, ``w.lineno``.
:githublink:`%|py|16`
"""
if "RemovedInSphinx40Warning" in str(w):
return False
class UnusedException(Exception):
pass
with warnings.catch_warnings():
warnings.simplefilter("ignore", DeprecationWarning)
try:
from matplotlib.cbook import MatplotlibDeprecationWarning
except ImportError:
MatplotlibDeprecationWarning = UnusedException
if isinstance(w.message, RuntimeWarning):
if "_bootstrap.py" in w.filename:
if "numpy.dtype size changed" in str(w.message):
return False
if "More than 20 figures have been opened." in str(w.message):
return False
elif isinstance(w.message, UserWarning):
if "matplotlib" in w.filename:
if "findfont: Font family" in str(w.message):
return False
if "pyquickhelper" in w.filename:
if "pymyinstall" in str(w.message):
return False
elif isinstance(w.message, MatplotlibDeprecationWarning):
if "basemap" in w.filename:
if "The ishold function was deprecated in version 2.0." in str(w.message):
return False
elif isinstance(w.message, ResourceWarning):
if "pyquickhelper" in w.filename:
if "Unable to retrieve content from" in str(w):
return False
elif isinstance(w.message, DeprecationWarning):
if "RemovedInSphinx40Warning" in str(w):
return False
if w.filename.endswith("kernelspec.py"):
return False
if "jupyter_client" in w.filename:
return False
if "IPython" in w.filename:
if "DisplayFormatter." in str(w.message):
return False
if "ScriptMagics." in str(w.message):
return False
if "HistoryManager." in str(w.message):
return False
if "ProfileDir." in str(w.message):
return False
if "InteractiveShell." in str(w.message):
return False
if "on_trait_change" in str(w.message):
return False
if "PlainTextFormatter." in str(w.message):
return False
if "Metadata should be set using the .tag()" in str(w.message):
return False
elif "nbconvert" in w.filename:
if "SlidesExporter." in str(w.message):
return False
if "TemplateExporter." in str(w.message):
return False
if "HTMLExporter." in str(w.message):
return False
if "SVG2PDFPreprocessor." in str(w.message):
return False
if "on_trait_change" in str(w.message):
return False
if "PresentExporter." in str(w.message):
return False
if "NbConvertApp." in str(w.message):
return False
if "RSTExporter." in str(w.message):
return False
if "PythonExporter." in str(w.message):
return False
if "LatexExporter." in str(w.message):
return False
if "metadata should be set using the .tag()" in str(w.message).lower():
return False
if 'cgi.escape is deprecated, use html.escape instead' in str(w.message):
return False
elif "jupyter_core" in w.filename:
if "JupyterApp." in str(w.message):
return False
if "metadata should be set using the .tag()" in str(w.message).lower():
return False
elif "nbextensions.py" in w.filename:
if "metadata should be set using the .tag()" in str(w.message).lower():
return False
elif "docutils" in w.filename:
if "'U' mode is deprecated" in str(w.message):
return False
if "Metadata should be set using the .tag()" in str(w.message):
return False
elif "sympy" in w.filename:
if "inspect.getargspec() is deprecated" in str(w.message):
return False
elif "_mode_cbc.py" in w.filename:
if "will be forbidden in the future" in str(w.message):
return False
elif "mpl_toolkits" in w.filename:
if "The ishold function was deprecated in version 2.0." in str(w.message):
return False
if "The hold function was deprecated in version 2.0." in str(w.message):
return False
if "axes.hold is deprecated." in str(w.message):
return False
elif "_bootstrap.py" in w.filename:
if "can't resolve package from __spec__" in str(w.message):
return False
elif "basemap" in w.filename:
if "The ishold function was deprecated in version 2.0." in str(w.message):
return False
elif "pandas" in w.filename:
if "ix is deprecated" in str(w.message):
return False
elif "sphinx" in w.filename:
if "sphinx.util.compat.Directive is deprecated and will be removed" in str(w.message):
return False
elif "markdown_mistune.py" in w.filename:
if "cgi.escape is deprecated, use html.escape instead" in str(w.message):
return False
elif isinstance(w.message, ImportWarning):
if "_bootstrap.py" in w.filename:
if "can't resolve package from __spec__" in str(w.message):
return False
elif w.filename.endswith("_bootstrap_external.py"):
return False
elif "MatplotlibDeprecationWarning" in str(type(w.message)):
if "basemap" in w.filename:
return False
return True