Commit 49197473 authored by Serhiy Storchaka's avatar Serhiy Storchaka Committed by GitHub

Simplify flags checks in sre_compile.py. (GH-9718)

Flags SRE_FLAG_UNICODE and SRE_FLAG_ASCII are mutually exclusive.
parent 6f9c55d1
...@@ -80,7 +80,7 @@ def _compile(code, pattern, flags): ...@@ -80,7 +80,7 @@ def _compile(code, pattern, flags):
tolower = None tolower = None
fixes = None fixes = None
if flags & SRE_FLAG_IGNORECASE and not flags & SRE_FLAG_LOCALE: if flags & SRE_FLAG_IGNORECASE and not flags & SRE_FLAG_LOCALE:
if flags & SRE_FLAG_UNICODE and not flags & SRE_FLAG_ASCII: if flags & SRE_FLAG_UNICODE:
iscased = _sre.unicode_iscased iscased = _sre.unicode_iscased
tolower = _sre.unicode_tolower tolower = _sre.unicode_tolower
fixes = _ignorecase_fixes fixes = _ignorecase_fixes
...@@ -196,7 +196,7 @@ def _compile(code, pattern, flags): ...@@ -196,7 +196,7 @@ def _compile(code, pattern, flags):
av = AT_MULTILINE.get(av, av) av = AT_MULTILINE.get(av, av)
if flags & SRE_FLAG_LOCALE: if flags & SRE_FLAG_LOCALE:
av = AT_LOCALE.get(av, av) av = AT_LOCALE.get(av, av)
elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII): elif flags & SRE_FLAG_UNICODE:
av = AT_UNICODE.get(av, av) av = AT_UNICODE.get(av, av)
emit(av) emit(av)
elif op is BRANCH: elif op is BRANCH:
...@@ -217,7 +217,7 @@ def _compile(code, pattern, flags): ...@@ -217,7 +217,7 @@ def _compile(code, pattern, flags):
emit(op) emit(op)
if flags & SRE_FLAG_LOCALE: if flags & SRE_FLAG_LOCALE:
av = CH_LOCALE[av] av = CH_LOCALE[av]
elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII): elif flags & SRE_FLAG_UNICODE:
av = CH_UNICODE[av] av = CH_UNICODE[av]
emit(av) emit(av)
elif op is GROUPREF: elif op is GROUPREF:
...@@ -265,7 +265,7 @@ def _compile_charset(charset, flags, code): ...@@ -265,7 +265,7 @@ def _compile_charset(charset, flags, code):
elif op is CATEGORY: elif op is CATEGORY:
if flags & SRE_FLAG_LOCALE: if flags & SRE_FLAG_LOCALE:
emit(CH_LOCALE[av]) emit(CH_LOCALE[av])
elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII): elif flags & SRE_FLAG_UNICODE:
emit(CH_UNICODE[av]) emit(CH_UNICODE[av])
else: else:
emit(av) emit(av)
...@@ -453,7 +453,7 @@ def _generate_overlap_table(prefix): ...@@ -453,7 +453,7 @@ def _generate_overlap_table(prefix):
def _get_iscased(flags): def _get_iscased(flags):
if not flags & SRE_FLAG_IGNORECASE: if not flags & SRE_FLAG_IGNORECASE:
return None return None
elif flags & SRE_FLAG_UNICODE and not flags & SRE_FLAG_ASCII: elif flags & SRE_FLAG_UNICODE:
return _sre.unicode_iscased return _sre.unicode_iscased
else: else:
return _sre.ascii_iscased return _sre.ascii_iscased
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment