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')
|
||||
"""
|
||||
|
||||
def __init__(self, expression, error_message='invalid expression'):
|
||||
def __init__(self, expression, error_message='invalid expression', environment=None):
|
||||
self.expression = expression
|
||||
self.error_message = error_message
|
||||
self.environment = environment or {}
|
||||
|
||||
def __call__(self, value):
|
||||
environment = {'value': value}
|
||||
exec '__ret__=' + self.expression in environment
|
||||
if environment['__ret__']:
|
||||
self.environment.update(value=value)
|
||||
exec '__ret__=' + self.expression in self.environment
|
||||
if self.environment['__ret__']:
|
||||
return (value, None)
|
||||
return (value, translate(self.error_message))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user