From: Guido van Rossum Date: Wed, 28 Feb 2001 21:43:40 +0000 (+0000) Subject: Add a new API: X-Git-Tag: v2.1b1~120 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9e2631897539a95f1413df00847544487fb3b827;p=thirdparty%2FPython%2Fcpython.git 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. --- diff --git a/Lib/warnings.py b/Lib/warnings.py index 9763dc67af8d..9de64bb95d4e 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