From 70b6a0214b7554af3465adedcde599362f5bdd4c Mon Sep 17 00:00:00 2001 From: Greg Price Date: Sat, 19 Dec 2009 22:00:08 -0500 Subject: [PATCH] view.py: double blank lines at toplevel This is a style convention that makes it easier to see where one definition ends and the next begins. It's particularly necessary in this file, because it can separate the CherryPy glue associated with one function from the unrelated function below it. svn path=/package_branches/invirt-web/cherrypy-rebased/; revision=2723 --- code/view.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/code/view.py b/code/view.py index e67f710..1765ddf 100644 --- a/code/view.py +++ b/code/view.py @@ -9,6 +9,7 @@ from StringIO import StringIO from invirt.config import structs as config from webcommon import State + class MakoHandler(cherrypy.dispatch.LateParamPageHandler): """Callable which processes a dictionary, returning the rendered body.""" @@ -57,6 +58,7 @@ class MakoLoader(object): cherrypy.tools.mako = cherrypy.Tool('on_start_resource', MakoLoader()) + def revertStandardError(): """Move stderr to stdout, and return the contents of the old stderr.""" errio = sys.stderr @@ -66,6 +68,7 @@ def revertStandardError(): errio.seek(0) return errio.read() + def catchStderr(): old_handler = cherrypy.request.handler def wrapper(*args, **kwargs): @@ -81,6 +84,7 @@ def catchStderr(): cherrypy.tools.catch_stderr = cherrypy.Tool('before_handler', catchStderr) + class JSONEncoder(simplejson.JSONEncoder): def default(self, obj): if isinstance(obj, datetime.datetime): @@ -90,6 +94,7 @@ class JSONEncoder(simplejson.JSONEncoder): else: return simplejson.JSONEncoder.default(self, obj) + def jsonify_tool_callback(*args, **kwargs): if not cherrypy.request.cached: response = cherrypy.response @@ -98,6 +103,7 @@ def jsonify_tool_callback(*args, **kwargs): cherrypy.tools.jsonify = cherrypy.Tool('before_finalize', jsonify_tool_callback, priority=30) + def require_login(): """If the user isn't logged in, raise 403 with an error.""" if cherrypy.request.login is False: @@ -106,6 +112,7 @@ def require_login(): cherrypy.tools.require_login = cherrypy.Tool('on_start_resource', require_login, priority=150) + def require_POST(): """If the request isn't a POST request, raise 405 Method Not Allowed""" if cherrypy.request.method != "POST": @@ -114,6 +121,7 @@ def require_POST(): cherrypy.tools.require_POST = cherrypy.Tool('on_start_resource', require_POST, priority=150) + def remote_user_login(): """Get remote user from SSL or GSSAPI, and store in request object. @@ -139,6 +147,7 @@ failed login, and is left at None if the user attempted no authentication. cherrypy.tools.remote_user_login = cherrypy.Tool('on_start_resource', remote_user_login, priority=50) + def invirtwebstate_init(): """Initialize the cherrypy.request.state object from Invirt""" if not hasattr(cherrypy.request, "state"): @@ -146,5 +155,6 @@ def invirtwebstate_init(): cherrypy.tools.invirtwebstate = cherrypy.Tool('on_start_resource', invirtwebstate_init, priority=100) + class View(object): _cp_config = {'tools.mako.directories': [os.path.join(os.path.dirname(__file__),'templates')]} -- 1.7.9.5