I actually agree. Right now my "solution" is to put this in my controller 

def parent_controller(views_folder=None, pop_args_zero=True):
    if views_folder is None:
        views_folder = os.path.join(request.controller, request.function)
    def wrapper(action):
        def f(_action=action, *a, **b):
            command = None
                if pop_args_zero:
                    parseme = request.args.pop(0)
                    parseme = request.args(0)
                if '.' in parseme:
                        command, extension = parseme.split('.')
                    except ValueError:
                        raise HTTP(400, "invalid arguments")
                     command, extension = parseme, 'html'
            except (IndexError, TypeError): # pop from empty list
                command, extension = 'index', 'html'

            response.view = os.path.join(views_folder, command + '.' + 

            requested_controller = _action().get(command, None)
            if requested_controller:
                return requested_controller()
                raise HTTP(404)
        f.__doc__ = action.__doc__
        f.__name__ = action.__name__
        return f
    return wrapper

Then I can have a controller function like this:

def persons():
    def index():
        return {}
    def update_or_insert():
        return {}
    return locals()

Then on the views I can have a folder structure like this

[default] [persons] . .. index.html update_or_insert.html

This solution isn't ideal. We should probably support the regular module 
structure in controllers.

- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to