/usr/lib/python3/dist-packages/nibabel/checkwarns.py is in python3-nibabel 2.0.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # emacs: -*- mode: python-mode; py-indent-offset: 4; indent-tabs-mode: nil -*-
# vi: set ft=python sts=4 ts=4 sw=4 et:
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ##
#
# See COPYING file distributed along with the NiBabel package for the
# copyright and license terms.
#
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ##
''' Contexts for *with* statement allowing checks for warnings
'''
from __future__ import division, print_function
import warnings
class ErrorWarnings(warnings.catch_warnings):
""" Context manager to check for warnings as errors. Usually used with
``assert_raises`` in the with block
Examples
--------
>>> with ErrorWarnings():
... try:
... warnings.warn('Message', UserWarning)
... except UserWarning:
... print('I consider myself warned')
I consider myself warned
"""
filter = 'error'
def __init__(self, record=True, module=None):
super(ErrorWarnings, self).__init__(record=record, module=module)
def __enter__(self):
mgr = super(ErrorWarnings, self).__enter__()
warnings.simplefilter(self.filter)
return mgr
class IgnoreWarnings(ErrorWarnings):
""" Context manager to ignore warnings
Examples
--------
>>> with IgnoreWarnings():
... warnings.warn('Message', UserWarning)
(and you get no warning)
"""
filter = 'ignore'
|