mirror of https://github.com/python/cpython.git
100 lines
1.9 KiB
Python
100 lines
1.9 KiB
Python
import sys
|
|
|
|
__all__ = [
|
|
"warn",
|
|
"warn_explicit",
|
|
"showwarning",
|
|
"formatwarning",
|
|
"filterwarnings",
|
|
"simplefilter",
|
|
"resetwarnings",
|
|
"catch_warnings",
|
|
"deprecated",
|
|
]
|
|
|
|
from _py_warnings import (
|
|
WarningMessage,
|
|
_DEPRECATED_MSG,
|
|
_OptionError,
|
|
_add_filter,
|
|
_deprecated,
|
|
_filters_mutated,
|
|
_filters_mutated_lock_held,
|
|
_filters_version,
|
|
_formatwarning_orig,
|
|
_formatwarnmsg,
|
|
_formatwarnmsg_impl,
|
|
_get_context,
|
|
_get_filters,
|
|
_getaction,
|
|
_getcategory,
|
|
_is_filename_to_skip,
|
|
_is_internal_filename,
|
|
_is_internal_frame,
|
|
_lock,
|
|
_new_context,
|
|
_next_external_frame,
|
|
_processoptions,
|
|
_set_context,
|
|
_set_module,
|
|
_setoption,
|
|
_setup_defaults,
|
|
_showwarning_orig,
|
|
_showwarnmsg,
|
|
_showwarnmsg_impl,
|
|
_use_context,
|
|
_warn_unawaited_coroutine,
|
|
_warnings_context,
|
|
catch_warnings,
|
|
defaultaction,
|
|
deprecated,
|
|
filters,
|
|
filterwarnings,
|
|
formatwarning,
|
|
onceregistry,
|
|
resetwarnings,
|
|
showwarning,
|
|
simplefilter,
|
|
warn,
|
|
warn_explicit,
|
|
)
|
|
|
|
try:
|
|
# Try to use the C extension, this will replace some parts of the
|
|
# _py_warnings implementation imported above.
|
|
from _warnings import (
|
|
_acquire_lock,
|
|
_defaultaction as defaultaction,
|
|
_filters_mutated_lock_held,
|
|
_onceregistry as onceregistry,
|
|
_release_lock,
|
|
_warnings_context,
|
|
filters,
|
|
warn,
|
|
warn_explicit,
|
|
)
|
|
|
|
_warnings_defaults = True
|
|
|
|
class _Lock:
|
|
def __enter__(self):
|
|
_acquire_lock()
|
|
return self
|
|
|
|
def __exit__(self, *args):
|
|
_release_lock()
|
|
|
|
_lock = _Lock()
|
|
except ImportError:
|
|
_warnings_defaults = False
|
|
|
|
|
|
# Module initialization
|
|
_set_module(sys.modules[__name__])
|
|
_processoptions(sys.warnoptions)
|
|
if not _warnings_defaults:
|
|
_setup_defaults()
|
|
|
|
del _warnings_defaults
|
|
del _setup_defaults
|