Can you explain the goal?

On Jul 6, 3:23 am, Miguel Lopes <mig.e.lo...@gmail.com> wrote:
> I'm experimenting with dynamically generating functions, aka 'actions' in
> controllers. However, I've been unsuccessful. I can use exec and closures
> successfully in regular Python code, but I can't make it work with web2py.
> Any thoughts on how to achieve this?
>
> A closure example - FAILS in web2py:
>
> top_pages = db(db.page.id > 0).select()
>
> def add_actions(top_pages):
>
>     for page in top_pages:
>
>         def inneraction(msg):
>
>             sidebar = None
>
>             return dict(message=msg, sidebar=sidebar)
>
>         inneraction.__name__ = page.link_name
>
>         globals()[page.link_name] = inneraction
>
> add_actions(top_pages)
>
> A exec example - FAILS in web2py:
>
> ACTION_TEMPLATE = """
>
>  def NEW_ACTION():
>
>     sidebar = None
>
>     return dict(message='s', sidebar=sidebar)
>
>  """
>
> top_pages = db(db.page.id > 0).select()
>
> def makePages(pages):
>
>     for page in top_pages:
>
>         exec ACTION_TEMPLATE
>
>         NEW_ACTION.__name__ = page.link_name
>
>         globals()[page.link_name] = NEW_ACTION
>
> makePages(pages)
>
> Miguel

Reply via email to