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 )