Massimo, > Not sure I undestand. This goes in a module? not a model?
The example shows that it can go in either or both. You could put it in a module and then import it into a controller to import actions into one specific controller. You could put it in a model to add an action to all controllers. The first time a controller is requested, the controller is exec'ed, the resulting environment is searched for functions of no args that have the specific attr that was set by the decorator, these actions are merged with the actions found with the regex. All the possible controller_action.pyc is compiled and stored like usual, now you can call actions that were created in the models or imported from a module (crud, resources, admin, stats etc). Robin On Jan 8, 7:20 am, mdipierro <[email protected]> wrote: > Not sure I undestand. This goes in a module? not a model? > > On Jan 8, 12:03 am, Robin B <[email protected]> wrote: > > > Controller functions taking arguments, or functions with an extra > > space like def index (): are hidden: > > >http://groups.google.com/group/web2py/browse_thread/thread/35c15761dc... > > > This is good that you can hide functions somehow, but using only a > > regex to detect controller functions requires people to copy-paste > > common actions into every controller (bad). > > > Could a controller be loaded, and its symbols that are functions > > checked for a tag (attribute) indicating that they are also exposed. > > This way you can import actions/functions in the models and in the > > individual controllers. > > > Proposal: continue to use the regex for backwards compatibility, but > > also expose functions that are explicitly tagged as exposed by some > > decorator. > > > Examples: > > > # in models/0.py > > @T2.decorators.expose > > def stats(): > > return 'stats' > > > # in modules/crud.py > > @T2.decorators.expose > > def update(): > > return 'update' > > > # in controllers/posts.py > > from modules.crud import * > > > It would be fully backwards compatible! > > > Feedback? > > > Robin --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

