changeset: 104961:d903a243c281 branch: 3.6 parent: 104959:31543f7cbdf4 user: Victor Stinner date: Tue Nov 08 00:42:46 2016 +0100 files: Lib/re.py description: Issue #28637: Revert issue #28082, don't import enum in re Importing the enum module in the re module slows down Python startup by 34% when Python is run from a virtual environment, or more generally when the re module is imported at startup but not the enum module. diff -r 31543f7cbdf4 -r d903a243c281 Lib/re.py --- a/Lib/re.py Mon Nov 07 17:54:01 2016 -0500 +++ b/Lib/re.py Tue Nov 08 00:42:46 2016 +0100 @@ -119,7 +119,6 @@ """ -import enum import sre_compile import sre_parse import functools @@ -139,26 +138,18 @@ __version__ = "2.2.1" -class RegexFlag(enum.IntFlag): - ASCII = sre_compile.SRE_FLAG_ASCII # assume ascii "locale" - IGNORECASE = sre_compile.SRE_FLAG_IGNORECASE # ignore case - LOCALE = sre_compile.SRE_FLAG_LOCALE # assume current 8-bit locale - UNICODE = sre_compile.SRE_FLAG_UNICODE # assume unicode "locale" - MULTILINE = sre_compile.SRE_FLAG_MULTILINE # make anchors look for newline - DOTALL = sre_compile.SRE_FLAG_DOTALL # make dot match newline - VERBOSE = sre_compile.SRE_FLAG_VERBOSE # ignore whitespace and comments - A = ASCII - I = IGNORECASE - L = LOCALE - U = UNICODE - M = MULTILINE - S = DOTALL - X = VERBOSE - # sre extensions (experimental, don't rely on these) - TEMPLATE = sre_compile.SRE_FLAG_TEMPLATE # disable backtracking - T = TEMPLATE - DEBUG = sre_compile.SRE_FLAG_DEBUG # dump pattern after compilation -globals().update(RegexFlag.__members__) +# flags +A = ASCII = sre_compile.SRE_FLAG_ASCII # assume ascii "locale" +I = IGNORECASE = sre_compile.SRE_FLAG_IGNORECASE # ignore case +L = LOCALE = sre_compile.SRE_FLAG_LOCALE # assume current 8-bit locale +U = UNICODE = sre_compile.SRE_FLAG_UNICODE # assume unicode "locale" +M = MULTILINE = sre_compile.SRE_FLAG_MULTILINE # make anchors look for newline +S = DOTALL = sre_compile.SRE_FLAG_DOTALL # make dot match newline +X = VERBOSE = sre_compile.SRE_FLAG_VERBOSE # ignore whitespace and comments + +# sre extensions (experimental, don't rely on these) +T = TEMPLATE = sre_compile.SRE_FLAG_TEMPLATE # disable backtracking +DEBUG = sre_compile.SRE_FLAG_DEBUG # dump pattern after compilation # sre exception error = sre_compile.error