X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Ffaults.py;h=91e5300bc78f0e6b52bfbb58ec1b8e9b0bfd8d93;hb=9001b79492ed0850dfa782a36c9ab66db679f036;hp=5a3288567be386cd27837d126ffe75397b849e89;hpb=988c61ec6673f98c3863cfb7bf6adb843dd5ba6a;p=sfa.git diff --git a/sfa/util/faults.py b/sfa/util/faults.py index 5a328856..91e5300b 100644 --- a/sfa/util/faults.py +++ b/sfa/util/faults.py @@ -1,17 +1,13 @@ # # SFA API faults # -# - -### $Id$ -### $URL$ import xmlrpclib class SfaFault(xmlrpclib.Fault): def __init__(self, faultCode, faultString, extra = None): if extra: - faultString += ": " + extra + faultString += ": " + str(extra) xmlrpclib.Fault.__init__(self, faultCode, faultString) class SfaInvalidAPIMethod(SfaFault): @@ -55,8 +51,10 @@ class SfaPermissionDenied(SfaFault): SfaFault.__init__(self, 108, faultString, extra) class SfaNotImplemented(SfaFault): - def __init__(self, extra = None): - faultString = "Not fully implemented" + def __init__(self, interface=None, extra = None): + faultString = "Not implemented" + if interface: + faultString += " at interface " + interface SfaFault.__init__(self, 109, faultString, extra) class SfaAPIError(SfaFault): @@ -95,7 +93,8 @@ class ExistingRecord(SfaFault): SfaFault.__init__(self, 111, faultString, extra) def __str__(self): return repr(self.value) - + + class NonexistingCredType(SfaFault): def __init__(self, value, extra = None): self.value = value @@ -105,7 +104,7 @@ class NonexistingCredType(SfaFault): return repr(self.value) class NonexistingFile(SfaFault): - def __init__(self, value): + def __init__(self, value, extra = None): self.value = value faultString = "Non existing file: %(value)s, " % locals() SfaFault.__init__(self, 111, faultString, extra) @@ -113,7 +112,7 @@ class NonexistingFile(SfaFault): return repr(self.value) class InvalidRPCParams(SfaFault): - def __init__(self, value): + def __init__(self, value, extra = None): self.value = value faultString = "Invalid RPC Params: %(value)s, " % locals() SfaFault.__init__(self, 102, faultString, extra) @@ -143,8 +142,8 @@ class RecordNotFound(SfaFault): self.value = value faultString = "Record not found: %(value)s" % locals() SfaFault.__init__(self, 102, faultString, extra) - #def __str__(self): - # return repr(self.value) + def __str__(self): + return repr(self.value) class UnknownSfaType(SfaFault): def __init__(self, value, extra = None): @@ -217,7 +216,15 @@ class CertNotSignedByParent(SfaFault): SfaFault.__init__(self, 103, faultString, extra) def __str__(self): return repr(self.value) - + +class GidParentHrn(SfaFault): + def __init__(self, value, extra = None): + self.value = value + faultString = "Cert URN is not an extension of its parent: %(value)s" % locals() + SfaFault.__init__(self, 103, faultString, extra) + def __str__(self): + return repr(self.value) + class GidInvalidParentHrn(SfaFault): def __init__(self, value, extra = None): self.value = value @@ -235,7 +242,7 @@ class SliverDoesNotExist(SfaFault): return repr(self.value) class BadRequestHash(xmlrpclib.Fault): - def __init__(self, hash = None): + def __init__(self, hash = None, extra = None): faultString = "bad request hash: " + str(hash) xmlrpclib.Fault.__init__(self, 902, faultString) @@ -255,3 +262,56 @@ class MissingSfaInfo(SfaFault): def __str__(self): return repr(self.value) +class InvalidRSpec(SfaFault): + def __init__(self, value, extra = None): + self.value = value + faultString = "Invalid RSpec: %(value)s" % locals() + SfaFault.__init__(self, 108, faultString, extra) + def __str__(self): + return repr(self.value) + +class InvalidRSpecElement(SfaFault): + def __init__(self, value, extra = None): + self.value = value + faultString = "Invalid RSpec Element: %(value)s" % locals() + SfaFault.__init__(self, 108, faultString, extra) + def __str__(self): + return repr(self.value) + +class InvalidXML(SfaFault): + def __init__(self, value, extra = None): + self.value = value + faultString = "Invalid XML Document: %(value)s" % locals() + SfaFault.__init__(self, 108, faultString, extra) + def __str__(self): + return repr(self.value) + +class InvalidXMLElement(SfaFault): + def __init__(self, value, extra = None): + self.value = value + faultString = "Invalid XML Element: %(value)s" % locals() + SfaFault.__init__(self, 108, faultString, extra) + def __str__(self): + return repr(self.value) + +class AccountNotEnabled(SfaFault): + def __init__(self, extra = None): + faultString = "Account Disabled" + SfaFault.__init__(self, 108, faultString, extra) + def __str__(self): + return repr(self.value) + +class CredentialNotVerifiable(SfaFault): + def __init__(self, value, extra = None): + self.value = value + faultString = "Unable to verify credential: %(value)s, " %locals() + SfaFault.__init__(self, 115, faultString, extra) + def __str__(self): + return repr(self.value) + +class CertExpired(SfaFault): + def __init__(self, value, extra=None): + self.value = value + faultString = "%s cert is expired" % value + SfaFault.__init__(self, 102, faultString, extra) +