mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
Addendum to #764548: restore 2.1 compatibility.
This commit is contained in:
@@ -221,7 +221,7 @@ def _compile(*key):
|
||||
pattern, flags = key
|
||||
if isinstance(pattern, _pattern_type):
|
||||
return pattern
|
||||
if not isinstance(pattern, sre_compile.STRING_TYPES):
|
||||
if not sre_compile.isstring(pattern):
|
||||
raise TypeError, "first argument must be string or compiled pattern"
|
||||
try:
|
||||
p = sre_compile.compile(pattern, flags)
|
||||
|
||||
@@ -431,10 +431,16 @@ def _compile_info(code, pattern, flags):
|
||||
try:
|
||||
unicode
|
||||
except NameError:
|
||||
STRING_TYPES = type("")
|
||||
STRING_TYPES = (type(""),)
|
||||
else:
|
||||
STRING_TYPES = (type(""), type(unicode("")))
|
||||
|
||||
def isstring(obj):
|
||||
for tp in STRING_TYPES:
|
||||
if isinstance(obj, tp):
|
||||
return 1
|
||||
return 0
|
||||
|
||||
def _code(p, flags):
|
||||
|
||||
flags = p.pattern.flags | flags
|
||||
@@ -453,7 +459,7 @@ def _code(p, flags):
|
||||
def compile(p, flags=0):
|
||||
# internal: convert pattern list to internal format
|
||||
|
||||
if isinstance(p, STRING_TYPES):
|
||||
if isstring(p):
|
||||
import sre_parse
|
||||
pattern = p
|
||||
p = sre_parse.parse(p, flags)
|
||||
|
||||
Reference in New Issue
Block a user