summaryrefslogtreecommitdiffstats
path: root/ipalib/errors.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-11-24 21:34:01 -0700
committerJason Gerard DeRose <jderose@redhat.com>2008-11-24 21:34:01 -0700
commit2d458a12339fbb7ef006ff7defc1e2f541e2f23f (patch)
tree04f1b19fe0763c1d0d5671dfee8c328dcd9cd002 /ipalib/errors.py
parent237c16f0fd3998f4a2e69d9096997d10af2cf8c9 (diff)
downloadfreeipa-2d458a12339fbb7ef006ff7defc1e2f541e2f23f.tar.gz
freeipa-2d458a12339fbb7ef006ff7defc1e2f541e2f23f.tar.xz
freeipa-2d458a12339fbb7ef006ff7defc1e2f541e2f23f.zip
Stared some RPC-related error cleanup; started work on ipa_server.rcp.xmlrpc plugin
Diffstat (limited to 'ipalib/errors.py')
-rw-r--r--ipalib/errors.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/ipalib/errors.py b/ipalib/errors.py
index 71a837e9c..a01082504 100644
--- a/ipalib/errors.py
+++ b/ipalib/errors.py
@@ -113,9 +113,33 @@ class IPAError(StandardError):
class InvocationError(IPAError):
pass
+
class UnknownCommandError(InvocationError):
format = 'unknown command "%s"'
+def _(text):
+ return text
+
+
+class HandledError(StandardError):
+ """
+ Base class for errors that can be raised across a remote procecdure call.
+ """
+ def __init__(self, message=None, **kw):
+ self.kw = kw
+ if message is None:
+ message = self.format % kw
+ StandardError.__init__(self, message)
+
+
+class CommandError(HandledError):
+ format = _('Unknown command %(name)r')
+
+
+class RemoteCommandError(HandledError):
+ format = 'Server at %(uri)r has no command %(command)r'
+
+
class UnknownHelpError(InvocationError):
format = 'no command nor topic "%s"'