IS_MATCH fix, thanks Anthony
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 1.99.4 (2011-12-24 10:52:51) stable
|
Version 1.99.4 (2011-12-25 12:24:19) stable
|
||||||
|
|||||||
+4
-3
@@ -145,7 +145,7 @@ class IS_MATCH(Validator):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, expression, error_message='invalid expression',
|
def __init__(self, expression, error_message='invalid expression',
|
||||||
strict=False, search=False):
|
strict=False, search=False, extract=False):
|
||||||
if strict or not search:
|
if strict or not search:
|
||||||
if not expression.startswith('^'):
|
if not expression.startswith('^'):
|
||||||
expression = '^(%s)' % expression
|
expression = '^(%s)' % expression
|
||||||
@@ -154,11 +154,12 @@ class IS_MATCH(Validator):
|
|||||||
expression = '(%s)$' % expression
|
expression = '(%s)$' % expression
|
||||||
self.regex = re.compile(expression)
|
self.regex = re.compile(expression)
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
|
self.extract = extract
|
||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
match = self.regex.search(value)
|
match = self.regex.search(value)
|
||||||
if match:
|
if match is not None:
|
||||||
return (match.group(), None)
|
return (self.extract and match.group() or value, None)
|
||||||
return (value, translate(self.error_message))
|
return (value, translate(self.error_message))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user