示例#1
0
文件: __init__.py 项目: tubav/teagle
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
示例#2
0
文件: __init__.py 项目: tubav/teagle
	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()