diff options
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/warnings.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/warnings.py b/Lib/warnings.py index 9763dc6..9de64bb 100644 --- a/Lib/warnings.py +++ b/Lib/warnings.py @@ -34,6 +34,16 @@ def warn(message, category=None, stacklevel=1): filename = module # Quick test for common case registry = globals.setdefault("__warningregistry__", {}) + warn_explicit(message, category, filename, lineno, module, registry) + +def warn_explicit(message, category, filename, lineno, + module=None, registry=None): + if module is None: + module = filename + if module[-3:].lower() == ".py": + module = module[:-3] # XXX What about leading pathname? + if registry is None: + registry = {} key = (message, category, lineno) if registry.get(key): return |