merged master onto senslab2, manually solved conflicts in setup.py
[sfa.git] / sfa / util / faults.py
index 5880fd9..91e5300 100644 (file)
@@ -1,10 +1,6 @@
 #
 # SFA API faults
 #
-#
-
-### $Id$
-### $URL$
 
 import xmlrpclib
 
@@ -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):
@@ -272,6 +270,30 @@ class InvalidRSpec(SfaFault):
     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"
@@ -286,3 +308,10 @@ class CredentialNotVerifiable(SfaFault):
         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)
+