[Beaker-devel] BZ# 998354: Docs for writing flask controllers

Raymond Mancy rmancy at redhat.com
Tue Sep 17 02:45:49 UTC 2013



----- Original Message -----
> From: "Amit Saha" <asaha at redhat.com>
> To: "Beaker development" <beaker-devel at lists.fedorahosted.org>
> Sent: Tuesday, September 17, 2013 12:05:50 PM
> Subject: [Beaker-devel] BZ# 998354: Docs for writing flask controllers
> 
> As per my discussions on IRC with Dan, and looking at some recent patches,
> here are the  points I plan to include in the doc:
> 
> Routing applications: The Flask application instance, 'app'
> needs to be imported from bkr.server.wsgi and then the view function
> can be exposed by decorating it with @app.route(). You can also
> specify the HTTP methods which the view can handle using the methods
> keyword argument.
> 
> Example: @app.route('/systems/<fqdn>/access-policy', methods=['POST', 'PUT'])
> 
> To learn more: http://flask.pocoo.org/docs/api/#url-route-registrations
> 
> 
> Identity checking: If a view function needs authentication,
> it can be checked using bkr.server.identity
> 
> UI Feedback: Although Flask has it's own mechanism for flash messages,
> you must use Turbogears's flash() method
> 
> Retuning data: Use Flask's jsonify() function to return your response
> as JSON data.
> 
> To learn more: http://flask.pocoo.org/docs/api/#module-flask.json
> 
> Aborting: If something is not right, use the abort() function
> to raise a HTTPException. For eg, abort(401) would indicate a
> authentication failure.
> 
> To learn more: http://flask.pocoo.org/docs/api/#flask.abort
> 
> Returning empty response: If the view function has nothing to return,
> return an empty string with a status code, like so: return '', 204
> 
> 
> Comments, suggestions welcome.
> 

Be sure to spell out that cherrypy controllers should no longer be used
for new controller methods.

Will it be hard to detail and explain new methods of doing things along
with the old methods (where they already exist) in a nice way ?

> Thanks,
> Amit.
> 
> 
> _______________________________________________
> Beaker-devel mailing list
> Beaker-devel at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/beaker-devel
> 


More information about the Beaker-devel mailing list