libraries/edge/writer/templateresponsewriter.py (32 lines of code) (raw):

from types import * import logging import codecs import requestresponder from edge.httputility import HttpUtility class TemplateResponseWriter(requestresponder.RequestResponder): def __init__(self, configFilePath, requiredParams = None): super(TemplateResponseWriter, self).__init__(configFilePath) if requiredParams is None: requiredParams = [] self.requiredParams = requiredParams self.pretty = False def get(self, requestHandler): super(TemplateResponseWriter, self).get(requestHandler) #check required parameters for paramList in self.requiredParams: countParamNotFound = 0 for param in paramList: try: requestHandler.get_argument(param) except: countParamNotFound += 1 if countParamNotFound == len(paramList): raise Exception("One of the following parameters is required: " + ', '.join(paramList)) def _handleException(self, error): self.requestHandler.set_status(404) self.requestHandler.write(error) self.requestHandler.finish() def _readTemplate(self, path): file = codecs.open(path, encoding='utf-8') data = file.read() file.close() return data