2 # GeniAPI XML-RPC faults
8 class GeniFault(xmlrpclib.Fault):
9 def __init__(self, faultCode, faultString, extra = None):
11 faultString += ": " + extra
12 xmlrpclib.Fault.__init__(self, faultCode, faultString)
14 class GeniInvalidAPIMethod(GeniFault):
15 def __init__(self, method, role = None, extra = None):
16 faultString = "Invalid method " + method
18 faultString += " for role " + role
19 GeniFault.__init__(self, 100, faultString, extra)
21 class GeniInvalidArgumentCount(GeniFault):
22 def __init__(self, got, min, max = min, extra = None):
24 expected = "%d-%d" % (min, max)
27 faultString = "Expected %s arguments, got %d" % \
29 GeniFault.__init__(self, 101, faultString, extra)
31 class GeniInvalidArgument(GeniFault):
32 def __init__(self, extra = None, name = None):
34 faultString = "Invalid %s value" % name
36 faultString = "Invalid argument"
37 GeniFault.__init__(self, 102, faultString, extra)
39 class GeniAuthenticationFailure(GeniFault):
40 def __init__(self, extra = None):
41 faultString = "Failed to authenticate call"
42 GeniFault.__init__(self, 103, faultString, extra)
44 class GeniDBError(GeniFault):
45 def __init__(self, extra = None):
46 faultString = "Database error"
47 GeniFault.__init__(self, 106, faultString, extra)
49 class GeniPermissionDenied(GeniFault):
50 def __init__(self, extra = None):
51 faultString = "Permission denied"
52 GeniFault.__init__(self, 108, faultString, extra)
54 class GeniNotImplemented(GeniFault):
55 def __init__(self, extra = None):
56 faultString = "Not fully implemented"
57 GeniFault.__init__(self, 109, faultString, extra)
59 class GeniAPIError(GeniFault):
60 def __init__(self, extra = None):
61 faultString = "Internal API error"
62 GeniFault.__init__(self, 111, faultString, extra)