class AbstractT1Controller(RestController): def __init__(self, name, t1, *args, **kw): super(AbstractT1Controller, self).__init__(name = name, *args, **kw) self.__t1 = t1 self.__serializer = T1Serializer(t1) self.__result_serializer = ResultSerializer() def _handle_request(self, request, path): try: path = self._mangle_path(request, path) result = super(AbstractT1Controller, self)._handle_request(request, path) xml = self.__serializer.serialize(result) except Exception, e: for t in request.META.get("HTTP_ACCEPT", "").split(","): if "html" in t: raise self.logger.exception("Error serving T1 request") if isinstance(e, T1ErrorResponse): return HttpResponse(content = self.__result_serializer.serialize_result(e), status = 500, content_type = "text/xml") return HttpResponse(content = errorstr(e), status = 500, content_type = "text/plain") return xml
def __init__(self, name, t1, *args, **kw): super(AbstractT1Controller, self).__init__(name = name, *args, **kw) self.__t1 = t1 self.__serializer = T1Serializer(t1) self.__result_serializer = ResultSerializer()