[IMP] use of literal_eval from ast instead of const_eval from tools, as per Olivier recommendation
bzr revid: qdp-launchpad@openerp.com-20121009152828-3bdxpatkrl1qmyfi
This commit is contained in:
parent
c98de15a09
commit
90fc4d6651
|
@ -60,7 +60,8 @@ import openerp
|
|||
import openerp.netsvc as netsvc
|
||||
import openerp.tools as tools
|
||||
from openerp.tools.config import config
|
||||
from openerp.tools.safe_eval import const_eval, safe_eval as eval
|
||||
from openerp.tools.safe_eval import safe_eval as eval
|
||||
from ast import literal_eval
|
||||
from openerp.tools.translate import _
|
||||
from openerp import SUPERUSER_ID
|
||||
from query import Query
|
||||
|
@ -1734,7 +1735,7 @@ class BaseModel(object):
|
|||
transfer_field_to_modifiers(field, modifiers)
|
||||
if node.get('options'):
|
||||
try:
|
||||
node.set('options', simplejson.dumps(const_eval(node.get('options'))))
|
||||
node.set('options', simplejson.dumps(literal_eval(node.get('options'))))
|
||||
except Exception, msg:
|
||||
raise except_orm('Invalide Python code in %s'%(node.get('options')), msg[0])
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ _ALLOWED_MODULES = ['_strptime', 'time']
|
|||
_CONST_OPCODES = set(opmap[x] for x in [
|
||||
'POP_TOP', 'ROT_TWO', 'ROT_THREE', 'ROT_FOUR', 'DUP_TOP', 'DUP_TOPX',
|
||||
'POP_BLOCK','SETUP_LOOP', 'BUILD_LIST', 'BUILD_MAP', 'BUILD_TUPLE',
|
||||
'LOAD_CONST', 'RETURN_VALUE', 'STORE_SUBSCR', 'STORE_MAP', 'LOAD_NAME'] if x in opmap)
|
||||
'LOAD_CONST', 'RETURN_VALUE', 'STORE_SUBSCR'] if x in opmap)
|
||||
|
||||
_EXPR_OPCODES = _CONST_OPCODES.union(set(opmap[x] for x in [
|
||||
'UNARY_POSITIVE', 'UNARY_NEGATIVE', 'UNARY_NOT',
|
||||
|
|
Loading…
Reference in New Issue