# SFA API faults
#
-import xmlrpclib
from sfa.util.genicode import GENICODE
+from sfa.util.py23 import xmlrpc_client
-class SfaFault(xmlrpclib.Fault):
+class SfaFault(xmlrpc_client.Fault):
def __init__(self, faultCode, faultString, extra = None):
if extra:
faultString += ": " + str(extra)
- xmlrpclib.Fault.__init__(self, faultCode, faultString)
+ xmlrpc_client.Fault.__init__(self, faultCode, faultString)
class Forbidden(SfaFault):
def __init__(self, extra = None):
class SfaAPIError(SfaFault):
def __init__(self, extra = None):
- faultString = "Internal API error"
+ faultString = "Internal SFA API error"
SfaFault.__init__(self, GENICODE.SERVERERROR, faultString, extra)
class MalformedHrnException(SfaFault):
def __str__(self):
return repr(self.value)
-class BadRequestHash(xmlrpclib.Fault):
+class BadRequestHash(xmlrpc_client.Fault):
def __init__(self, hash = None, extra = None):
faultString = "bad request hash: " + str(hash)
- xmlrpclib.Fault.__init__(self, GENICODE.ERROR, faultString)
+ xmlrpc_client.Fault.__init__(self, GENICODE.ERROR, faultString)
class MissingTrustedRoots(SfaFault):
def __init__(self, value, extra = None):
def __init__(self, value, extra = None):
self.value = value
faultString = "Invalid XML Document: %(value)s" % locals()
- SfaFault.__init__(self, GENICODE.ERROR, faultString, extra)
+ SfaFault.__init__(self, GENICODE.BADARGS, faultString, extra)
def __str__(self):
return repr(self.value)
return repr(self.value)
class CredentialNotVerifiable(SfaFault):
- def __init__(self, value, extra = None):
+ def __init__(self, value=None, extra = None):
self.value = value
- faultString = "Unable to verify credential: %(value)s, " %locals()
- SfaFault.__init__(self, GENICODE.ERROR, faultString, extra)
+ faultString = "Unable to verify credential" %locals()
+ if value:
+ faultString += ": %s" % value
+ faultString += ", "
+ SfaFault.__init__(self, GENICODE.BADARGS, faultString, extra)
def __str__(self):
return repr(self.value)