From d8f21203b0ae9b69e84520d7fabe22ccfc9b4188 Mon Sep 17 00:00:00 2001 From: Skip Montanaro Date: Wed, 14 May 2003 17:33:53 +0000 Subject: [PATCH] defer re module imports to help improve interpreter startup --- Lib/warnings.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Lib/warnings.py b/Lib/warnings.py index bab007fd34..1c55fb23ae 100644 --- a/Lib/warnings.py +++ b/Lib/warnings.py @@ -3,7 +3,7 @@ # Note: function level imports should *not* be used # in this module as it may cause import lock deadlock. # See bug 683658. -import sys, re, types +import sys, types import linecache __all__ = ["warn", "showwarning", "formatwarning", "filterwarnings", @@ -129,6 +129,7 @@ def filterwarnings(action, message="", category=Warning, module="", lineno=0, """Insert an entry into the list of warnings filters (at the front). Use assertions to check that all arguments have the right type.""" + import re assert action in ("error", "ignore", "always", "default", "module", "once"), "invalid action: %s" % `action` assert isinstance(message, basestring), "message must be a string" @@ -162,6 +163,7 @@ def _processoptions(args): # Helper for _processoptions() def _setoption(arg): + import re parts = arg.split(':') if len(parts) > 5: raise _OptionError("too many fields (max 5): %s" % `arg`) @@ -198,6 +200,7 @@ def _getaction(action): # Helper for _setoption() def _getcategory(category): + import re if not category: return Warning if re.match("^[a-zA-Z0-9_]+$", category): -- 2.50.1