Implement the endpoint decorator. This allows you to easily map views to endpoints when using the werkzeug routing.

Signed-off-by: Armin Ronacher <armin.ronacher@active-4.com>
This commit is contained in:
mvantellingen 2011-01-23 13:31:02 +01:00 committed by Armin Ronacher
parent 8a73097fe5
commit b0ca7e5af1
3 changed files with 46 additions and 0 deletions

View file

@ -496,6 +496,7 @@ class Flask(_PackageBoundObject):
"""
options.setdefault('url_prefix', module.url_prefix)
options.setdefault('subdomain', module.subdomain)
self.view_functions.update(module.view_functions)
state = _ModuleSetupState(self, **options)
for func in module._register_events:
func(state)
@ -629,6 +630,22 @@ class Flask(_PackageBoundObject):
return f
return decorator
def endpoint(self, endpoint):
"""A decorator to register a function as an endpoint.
Example::
@app.endpoint('example.endpoint')
def example():
return "example"
:param endpoint: the name of the endpoint
"""
def decorator(f):
self.view_functions[endpoint] = f
return f
return decorator
def errorhandler(self, code):
"""A decorator that is used to register a function give a given
error code. Example::