+
+ def get_geni_code(self, result):
+ code = {
+ 'geni_code': GENICODE.SUCCESS,
+ 'am_type': 'sfa',
+ 'am_code': None,
+ }
+ if isinstance(result, SfaFault):
+ code['geni_code'] = result.faultCode
+ code['am_code'] = result.faultCode
+
+ return code
+
+ def get_geni_value(self, result):
+ value = result
+ if isinstance(result, SfaFault):
+ value = ""
+ return value
+
+ def get_geni_output(self, result):
+ output = ""
+ if isinstance(result, SfaFault):
+ output = result.faultString
+ return output
+
+ def prepare_response_am(self, result):
+ version = version_core()
+ response = {
+ 'geni_api': 3,
+ 'code': self.get_geni_code(result),
+ 'value': self.get_geni_value(result),
+ 'output': self.get_geni_output(result),
+ }
+ return response
+
+ def prepare_response(self, result, method=""):
+ """
+ Converts the specified result into a standard GENI compliant
+ response
+ """
+ # as of dec 13 2011 we only support API v2
+ if self.interface.lower() in ['aggregate', 'slicemgr']:
+ result = self.prepare_response_am(result)
+ return XmlrpcApi.prepare_response(self, result, method)