From 9e2631897539a95f1413df00847544487fb3b827 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Wed, 28 Feb 2001 21:43:40 +0000 Subject: Add a new API: warn_explicit(message, category, filename, lineno, module, registry) The regular warn() call calculates a bunch of values and calls warn_explicit() with these. This will be used to issue better syntax warnings. --- Lib/warnings.py | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 -- cgit v0.12