Good day!

Refs:
    http://pypi.python.org/pypi/RestrictedPython

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.

The idea... 

        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 
user-created 'macros'.

If I'm missing something obvious, flames welcome!

--r.

Russ Ferriday -- 
CEO Topia Systems Ltd.
ru...@topia.com  --  +1 (805) 910 7877  --  www.topia.com








_______________________________________________
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )

Reply via email to