Apologies for the noise.
Brain in gear....
--r.

Begin forwarded message:

> From: Russ Ferriday <ru...@topia.com>
> Date: November 3, 2010 12:47:33 PM PDT
> To: zope-dev <zope-dev@zope.org>
> Subject: RestrictedPython - inserting variables before doing exec(code)
> 
> 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
> 
> 
> 
> 
> 
> 
> 
> 


Russ Ferriday -- Systems Architect & Entrepreneur
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