Got it. In that case, you can still use exec -- you probably want to wrap it in a try/except. Here's what web2py does to execute all model, controller, and view code (using the restricted() function in restricted.py):
try: if type(code) == types.CodeType: ccode = code else: ccode = compile2(code,layer) exec ccode in environment I suppose you could import and call the restricted() function as well if you want. Anthony On Wednesday, August 29, 2012 5:15:35 PM UTC-4, lucas wrote: > > yes, you're right, i should be more clear sorry. consider two text fields > in a table. one is called view and the other controller. the view has the > similar syntax we are used to, it is just stored in the table and row. and > the controller, i want to be able to allow myself to enter any type of > python executable code, and arrive at a final returned dictionary filled > with keys and values. some or all of the kv pairs can be passed to render > the view, and some and others may be used to move to another process to > create other output. so i want to be able to code the controller field, > allow web2py to execute it, and finally return the dictionary so that it > can be further used in the view or other processes. i know it is a bit > dynamic, and thus difficult to give more details, so i am hoping that that > is more clear. let me know. ok. lucas > --