summaryrefslogtreecommitdiff
path: root/keystoneclient/exceptions.py
diff options
context:
space:
mode:
authorJamie Lennox <jamielennox@redhat.com>2014-12-08 13:12:53 +1000
committerJamie Lennox <jamielennox@redhat.com>2015-02-02 09:23:39 +1100
commitc57e562d2b941c47abdfea46fbe45e8f8cdf431b (patch)
tree903f510c166dcc530aed452ef50ec008ac0bde92 /keystoneclient/exceptions.py
parentbf99f4c1efd8b79d6a8b77c774f761f7ec755c52 (diff)
downloadpython-keystoneclient-c57e562d2b941c47abdfea46fbe45e8f8cdf431b.tar.gz
Add name parameter to NoMatchingPlugin exception
If you want to handle a NoMatchingPlugin exception rather than simply exit then the name of the missing plugin is generally more useful than the message. The exception is specific enough that you can know what went wrong, but you cannot determine the name of the missing plugin if you want to do your own logging - only use the message that is generated. We should keep the message but expose the plugin name as well. Closes-Bug: #1410391 Change-Id: Ic93ec6583b8d7797529d36d63995ef0d8db754f1
Diffstat (limited to 'keystoneclient/exceptions.py')
-rw-r--r--keystoneclient/exceptions.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/keystoneclient/exceptions.py b/keystoneclient/exceptions.py
index 241d27b..a76aa32 100644
--- a/keystoneclient/exceptions.py
+++ b/keystoneclient/exceptions.py
@@ -81,8 +81,19 @@ class MissingAuthPlugin(ClientException):
class NoMatchingPlugin(ClientException):
"""There were no auth plugins that could be created from the parameters
provided.
+
+ :param str name: The name of the plugin that was attempted to load.
+
+ .. py:attribute:: name
+
+ The name of the plugin that was attempted to load.
"""
+ def __init__(self, name):
+ self.name = name
+ msg = _('The plugin %s could not be found') % name
+ super(NoMatchingPlugin, self).__init__(msg)
+
class InvalidResponse(ClientException):
"""The response from the server is not valid for this request."""