diff --git a/stdlib/re.pyi b/stdlib/re.pyi index 2f4f3a3a0ed4..68684035593d 100644 --- a/stdlib/re.pyi +++ b/stdlib/re.pyi @@ -25,7 +25,6 @@ if sys.version_info >= (3, 11): "finditer", "compile", "purge", - "template", "escape", "error", "Pattern", @@ -126,8 +125,9 @@ class RegexFlag(enum.IntFlag): VERBOSE = X U = sre_compile.SRE_FLAG_UNICODE UNICODE = U - T = sre_compile.SRE_FLAG_TEMPLATE - TEMPLATE = T + if sys.version_info < (3, 11): + T = sre_compile.SRE_FLAG_TEMPLATE + TEMPLATE = T if sys.version_info >= (3, 11): NOFLAG: int @@ -146,8 +146,9 @@ X = RegexFlag.X VERBOSE = RegexFlag.VERBOSE U = RegexFlag.U UNICODE = RegexFlag.UNICODE -T = RegexFlag.T -TEMPLATE = RegexFlag.TEMPLATE +if sys.version_info < (3, 11): + T = RegexFlag.T + TEMPLATE = RegexFlag.TEMPLATE if sys.version_info >= (3, 11): NOFLAG = RegexFlag.NOFLAG _FlagsType: TypeAlias = int | RegexFlag @@ -219,4 +220,6 @@ def subn( ) -> tuple[bytes, int]: ... def escape(pattern: AnyStr) -> AnyStr: ... def purge() -> None: ... -def template(pattern: AnyStr | Pattern[AnyStr], flags: _FlagsType = ...) -> Pattern[AnyStr]: ... + +if sys.version_info < (3, 11): + def template(pattern: AnyStr | Pattern[AnyStr], flags: _FlagsType = ...) -> Pattern[AnyStr]: ... diff --git a/stdlib/sre_constants.pyi b/stdlib/sre_constants.pyi index 00644994fe3e..9b665937a2ce 100644 --- a/stdlib/sre_constants.pyi +++ b/stdlib/sre_constants.pyi @@ -31,7 +31,8 @@ AT_LOCALE: dict[_NamedIntConstant, _NamedIntConstant] AT_UNICODE: dict[_NamedIntConstant, _NamedIntConstant] CH_LOCALE: dict[_NamedIntConstant, _NamedIntConstant] CH_UNICODE: dict[_NamedIntConstant, _NamedIntConstant] -SRE_FLAG_TEMPLATE: int +if sys.version_info < (3, 11): + SRE_FLAG_TEMPLATE: int SRE_FLAG_IGNORECASE: int SRE_FLAG_LOCALE: int SRE_FLAG_MULTILINE: int @@ -55,7 +56,8 @@ ASSERT: _NamedIntConstant ASSERT_NOT: _NamedIntConstant AT: _NamedIntConstant BRANCH: _NamedIntConstant -CALL: _NamedIntConstant +if sys.version_info < (3, 11): + CALL: _NamedIntConstant CATEGORY: _NamedIntConstant CHARSET: _NamedIntConstant BIGCHARSET: _NamedIntConstant diff --git a/stdlib/sre_parse.pyi b/stdlib/sre_parse.pyi index 0958e73f5176..5ca0ed79a082 100644 --- a/stdlib/sre_parse.pyi +++ b/stdlib/sre_parse.pyi @@ -19,7 +19,8 @@ if sys.version_info >= (3, 7): TYPE_FLAGS: int GLOBAL_FLAGS: int -class Verbose(Exception): ... +if sys.version_info < (3, 11): + class Verbose(Exception): ... class _State: flags: int @@ -87,6 +88,9 @@ class Tokenizer: def seek(self, index: int) -> None: ... def error(self, msg: str, offset: int = ...) -> _Error: ... + if sys.version_info >= (3, 11): + def checkgroupname(self, name: str, offset: int, nested: int) -> None: ... + def fix_flags(src: str | bytes, flags: int) -> int: ... _TemplateType: TypeAlias = tuple[list[tuple[int, int]], list[str | None]] diff --git a/tests/stubtest_allowlists/py311.txt b/tests/stubtest_allowlists/py311.txt index 0c0d272e275c..84ab81e439b5 100644 --- a/tests/stubtest_allowlists/py311.txt +++ b/tests/stubtest_allowlists/py311.txt @@ -125,19 +125,8 @@ pyexpat.errors.XML_ERROR_RESERVED_PREFIX_XML pyexpat.errors.XML_ERROR_RESERVED_PREFIX_XMLNS queue.SimpleQueue.__init__ re.Pattern.scanner # Undocumented and not useful. #6405 -re.T -re.TEMPLATE -re.template shutil.rmtree socketserver.UDPServer.allow_reuse_port -sre_compile.CALL -sre_compile.SRE_FLAG_TEMPLATE -sre_constants.CALL -sre_constants.SRE_FLAG_TEMPLATE -sre_parse.CALL -sre_parse.SRE_FLAG_TEMPLATE -sre_parse.Tokenizer.checkgroupname -sre_parse.Verbose string.Template.get_identifiers string.Template.is_valid subprocess.getoutput