]> granicus.if.org Git - python/commitdiff
Simplify flags checks in sre_compile.py. (GH-9718)
authorSerhiy Storchaka <storchaka@gmail.com>
Fri, 5 Oct 2018 17:53:45 +0000 (20:53 +0300)
committerGitHub <noreply@github.com>
Fri, 5 Oct 2018 17:53:45 +0000 (20:53 +0300)
Flags SRE_FLAG_UNICODE and SRE_FLAG_ASCII are mutually exclusive.

Lib/sre_compile.py

index 36670427db7693917cc502deb2249502602bfc51..c6398bfb83a5763df1ce9b383274c229e4faa567 100644 (file)
@@ -80,7 +80,7 @@ def _compile(code, pattern, flags):
     tolower = None
     fixes = None
     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
             tolower = _sre.unicode_tolower
             fixes = _ignorecase_fixes
@@ -196,7 +196,7 @@ def _compile(code, pattern, flags):
                 av = AT_MULTILINE.get(av, av)
             if flags & SRE_FLAG_LOCALE:
                 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)
             emit(av)
         elif op is BRANCH:
@@ -217,7 +217,7 @@ def _compile(code, pattern, flags):
             emit(op)
             if flags & SRE_FLAG_LOCALE:
                 av = CH_LOCALE[av]
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 av = CH_UNICODE[av]
             emit(av)
         elif op is GROUPREF:
@@ -265,7 +265,7 @@ def _compile_charset(charset, flags, code):
         elif op is CATEGORY:
             if flags & SRE_FLAG_LOCALE:
                 emit(CH_LOCALE[av])
-            elif (flags & SRE_FLAG_UNICODE) and not (flags & SRE_FLAG_ASCII):
+            elif flags & SRE_FLAG_UNICODE:
                 emit(CH_UNICODE[av])
             else:
                 emit(av)
@@ -453,7 +453,7 @@ def _generate_overlap_table(prefix):
 def _get_iscased(flags):
     if not flags & SRE_FLAG_IGNORECASE:
         return None
-    elif flags & SRE_FLAG_UNICODE and not flags & SRE_FLAG_ASCII:
+    elif flags & SRE_FLAG_UNICODE:
         return _sre.unicode_iscased
     else:
         return _sre.ascii_iscased