diff options
| author | Dean Troyer <dtroyer@gmail.com> | 2016-06-08 14:33:39 -0500 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2016-06-10 08:35:54 -0500 |
| commit | 6c269efda87185a1bbecf22c62dead1cd78132af (patch) | |
| tree | fec9bcd74a6286081601200bc5e8752e9cc458f1 /openstackclient/common/exceptions.py | |
| parent | df71ae814e06965970ab13dbd3bb159023a18afc (diff) | |
| download | python-openstackclient-6c269efda87185a1bbecf22c62dead1cd78132af.tar.gz | |
Use osc-lib and set up deprecation warnings
The initial use of osc-lib is behind the compatibility/deprecation
modules that we will leave in place for a time for plugins to catch
up.
* openstackclient.common.exceptions
* openstackclient.common.utils
Module-level warnings are emitted directly on stderr since logging
has not been configured yet.
Change-Id: I79e57ce9523a20366bccaf9b949ab5906792ea0d
Diffstat (limited to 'openstackclient/common/exceptions.py')
| -rw-r--r-- | openstackclient/common/exceptions.py | 108 |
1 files changed, 8 insertions, 100 deletions
diff --git a/openstackclient/common/exceptions.py b/openstackclient/common/exceptions.py index bdc33ddb..7124074c 100644 --- a/openstackclient/common/exceptions.py +++ b/openstackclient/common/exceptions.py @@ -1,5 +1,3 @@ -# Copyright 2012-2013 OpenStack, LLC. -# # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at @@ -13,105 +11,15 @@ # under the License. # -"""Exception definitions.""" - - -class CommandError(Exception): - pass - - -class AuthorizationFailure(Exception): - pass - - -class PluginAttributeError(Exception): - """A plugin threw an AttributeError while being lazily loaded.""" - # This *must not* inherit from AttributeError; - # that would defeat the whole purpose. - pass - - -class NoTokenLookupException(Exception): - """This does not support looking up endpoints from an existing token.""" - pass - - -class EndpointNotFound(Exception): - """Could not find Service or Region in Service Catalog.""" - pass - - -class UnsupportedVersion(Exception): - """The user is trying to use an unsupported version of the API""" - pass - - -class ClientException(Exception): - """The base exception class for all exceptions this library raises.""" +# NOTE(dtroyer): This file is deprecated in Jun 2016, remove after 4.x release +# or Jun 2017. - def __init__(self, code, message=None, details=None): - self.code = code - self.message = message or self.__class__.message - self.details = details +import sys - def __str__(self): - return "%s (HTTP %s)" % (self.message, self.code) +from osc_lib.exceptions import * # noqa -class BadRequest(ClientException): - """HTTP 400 - Bad request: you sent some malformed data.""" - http_status = 400 - message = "Bad request" - - -class Unauthorized(ClientException): - """HTTP 401 - Unauthorized: bad credentials.""" - http_status = 401 - message = "Unauthorized" - - -class Forbidden(ClientException): - """HTTP 403 - Forbidden: not authorized to access to this resource.""" - http_status = 403 - message = "Forbidden" - - -class NotFound(ClientException): - """HTTP 404 - Not found""" - http_status = 404 - message = "Not found" - - -class Conflict(ClientException): - """HTTP 409 - Conflict""" - http_status = 409 - message = "Conflict" - - -class OverLimit(ClientException): - """HTTP 413 - Over limit: reached the API limits for this time period.""" - http_status = 413 - message = "Over limit" - - -# NotImplemented is a python keyword. -class HTTPNotImplemented(ClientException): - """HTTP 501 - Not Implemented: server does not support this operation.""" - http_status = 501 - message = "Not Implemented" - - -# In Python 2.4 Exception is old-style and thus doesn't have a __subclasses__() -# so we can do this: -# _code_map = dict((c.http_status, c) -# for c in ClientException.__subclasses__()) -# -# Instead, we have to hardcode it: -_code_map = dict((c.http_status, c) for c in [ - BadRequest, - Unauthorized, - Forbidden, - NotFound, - OverLimit, - HTTPNotImplemented -]) +sys.stderr.write( + "WARNING: %s is deprecated and will be removed after Jun 2017. " + "Please use osc_lib.exceptions\n" % __name__ +) |
