Files
oslo.utils/oslo/utils/uuidutils.py
Davanum Srinivas 45b716614d Add uuidutils to oslo.utils
Oslo team was vacillating about moving uuidutils to
oslo.utils in the past. The consensus now is that it
may be still handy and has too many references for us
to fix (change references from uuidutils to use uuid.*
package directly)

Co-Authored-By: Victor Sergeyev <vsergeyev@mirantis.com>

Change-Id: I1b2e430915125da6cf505a8525c148898e8ec08a
2014-10-27 18:12:13 +00:00

45 lines
1.2 KiB
Python

# Copyright (c) 2012 Intel Corporation.
# All Rights Reserved.
#
# 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.
"""
UUID related utilities and helper functions.
"""
import uuid
def generate_uuid():
return str(uuid.uuid4())
def _format_uuid_string(string):
return (string.replace('urn:', '')
.replace('uuid:', '')
.strip('{}')
.replace('-', ''))
def is_uuid_like(val):
"""Returns validation of a value as a UUID.
:param val: Value to verify
:type val: string
:returns: bool
"""
try:
return str(uuid.UUID(val)).replace('-', '') == _format_uuid_string(val)
except (TypeError, ValueError, AttributeError):
return False