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