IS_EXPR_environment.patch, fixed issue 938, thanks Anthony
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.00.0 (2012-08-18 20:11:01) dev
|
Version 2.00.0 (2012-08-19 10:02:26) dev
|
||||||
|
|||||||
+5
-4
@@ -213,14 +213,15 @@ class IS_EXPR(Validator):
|
|||||||
('2', 'invalid expression')
|
('2', 'invalid expression')
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, expression, error_message='invalid expression'):
|
def __init__(self, expression, error_message='invalid expression', environment=None):
|
||||||
self.expression = expression
|
self.expression = expression
|
||||||
self.error_message = error_message
|
self.error_message = error_message
|
||||||
|
self.environment = environment or {}
|
||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
environment = {'value': value}
|
self.environment.update(value=value)
|
||||||
exec '__ret__=' + self.expression in environment
|
exec '__ret__=' + self.expression in self.environment
|
||||||
if environment['__ret__']:
|
if self.environment['__ret__']:
|
||||||
return (value, None)
|
return (value, None)
|
||||||
return (value, translate(self.error_message))
|
return (value, translate(self.error_message))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user