diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-11-24 21:34:01 -0700 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-11-24 21:34:01 -0700 |
commit | 2d458a12339fbb7ef006ff7defc1e2f541e2f23f (patch) | |
tree | 04f1b19fe0763c1d0d5671dfee8c328dcd9cd002 /ipalib/errors.py | |
parent | 237c16f0fd3998f4a2e69d9096997d10af2cf8c9 (diff) | |
download | freeipa-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.py | 24 |
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"' |