I want to pass existing bound variables into the environment of some restricted
code before running it.
This is similar to when globals are passed to compile_restricted_function.
x = 42
y = 'foo'
src="""print x*2; print y; return printed"""
code=compile_restricted(src, '<string>', 'exec')
code.global['x'] = x # <- just dreaming, here.
code.global['y'] = y # <- just dreaming, here.
ans = exec(code) in restricted_globals
print ans # prints "84\n'foo'\n"
It's clear that passing in arbitrary objects is not feasible. But what if I'm
prepared to constrain input to built-in numeric and string types, possibly in
or with nested dicts?
In many cases the input will be large integer or float arrays, and I want to
avoid any nasty
kludge such as printing those inputs into the top lines of the src ;). The src
in the demo is a constant,
but in the application, it's provided by users via a list of pre-defined and
If I'm missing something obvious, flames welcome!
Russ Ferriday --
CEO Topia Systems Ltd.
ru...@topia.com -- +1 (805) 910 7877 -- www.topia.com
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -