diff options
author | Julien Danjou <julien@danjou.info> | 2017-11-22 10:08:58 +0100 |
---|---|---|
committer | Julien Danjou <julien@danjou.info> | 2017-11-22 10:09:10 +0100 |
commit | cc6639ad63e80f50012b24695619e5d771462031 (patch) | |
tree | a1a93f5ffce81ad930abca6e0c11e904b7b362d8 /ceilometerclient/apiclient/utils.py | |
parent | 3ff6bac3da348bad0b220ab26eab6ad6bfbeb675 (diff) | |
download | python-ceilometerclient-cc6639ad63e80f50012b24695619e5d771462031.tar.gz |
Retire ceilometerclient
Depends-On: Ic2947fd066a2df685d52539d0756cd981cc16113
Change-Id: I65738a55db82053643f7580eee20b63df52b957f
Diffstat (limited to 'ceilometerclient/apiclient/utils.py')
-rw-r--r-- | ceilometerclient/apiclient/utils.py | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/ceilometerclient/apiclient/utils.py b/ceilometerclient/apiclient/utils.py deleted file mode 100644 index 2f45b92..0000000 --- a/ceilometerclient/apiclient/utils.py +++ /dev/null @@ -1,100 +0,0 @@ -# -# 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 -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -######################################################################## -# -# THIS MODULE IS DEPRECATED -# -# Please refer to -# https://etherpad.openstack.org/p/kilo-ceilometerclient-library-proposals for -# the discussion leading to this deprecation. -# -# We recommend checking out the python-openstacksdk project -# (https://launchpad.net/python-openstacksdk) instead. -# -######################################################################## - -from oslo_utils import encodeutils -from oslo_utils import uuidutils -import six - -from ceilometerclient.apiclient import exceptions -from ceilometerclient.i18n import _ - - -def find_resource(manager, name_or_id, **find_args): - """Look for resource in a given manager. - - Used as a helper for the _find_* methods. - Example: - - .. code-block:: python - - def _find_hypervisor(cs, hypervisor): - #Get a hypervisor by name or ID. - return cliutils.find_resource(cs.hypervisors, hypervisor) - """ - # first try to get entity as integer id - try: - return manager.get(int(name_or_id)) - except (TypeError, ValueError, exceptions.NotFound): - pass - - # now try to get entity as uuid - try: - if six.PY2: - tmp_id = encodeutils.safe_encode(name_or_id) - else: - tmp_id = encodeutils.safe_decode(name_or_id) - - if uuidutils.is_uuid_like(tmp_id): - return manager.get(tmp_id) - except (TypeError, ValueError, exceptions.NotFound): - pass - - # for str id which is not uuid - if getattr(manager, 'is_alphanum_id_allowed', False): - try: - return manager.get(name_or_id) - except exceptions.NotFound: - pass - - try: - try: - return manager.find(human_id=name_or_id, **find_args) - except exceptions.NotFound: - pass - - # finally try to find entity by name - try: - resource = getattr(manager, 'resource_class', None) - name_attr = resource.NAME_ATTR if resource else 'name' - kwargs = {name_attr: name_or_id} - kwargs.update(find_args) - return manager.find(**kwargs) - except exceptions.NotFound: - msg = _("No %(name)s with a name or " - "ID of '%(name_or_id)s' exists.") % \ - { - "name": manager.resource_class.__name__.lower(), - "name_or_id": name_or_id - } - raise exceptions.CommandError(msg) - except exceptions.NoUniqueMatch: - msg = _("Multiple %(name)s matches found for " - "'%(name_or_id)s', use an ID to be more specific.") % \ - { - "name": manager.resource_class.__name__.lower(), - "name_or_id": name_or_id - } - raise exceptions.CommandError(msg) |