utils: allow ResourceUUID to convert UUID

Change-Id: I8c26811577bc8175917d1860c73ec266439d49dd
This commit is contained in:
Julien Danjou
2016-12-19 13:13:47 +01:00
parent ea9ae167e6
commit b817a8b51d
2 changed files with 3 additions and 2 deletions

View File

@@ -1186,8 +1186,7 @@ class QueryTransformer(object):
if isinstance(attr.type, base.TimestampUTC):
converter = utils.to_datetime
elif (isinstance(attr.type, sqlalchemy_utils.UUIDType)
and not isinstance(value, uuid.UUID)):
elif isinstance(attr.type, sqlalchemy_utils.UUIDType):
converter = utils.ResourceUUID
elif isinstance(attr.type, types.String):
converter = six.text_type

View File

@@ -40,6 +40,8 @@ RESOURCE_ID_NAMESPACE = uuid.UUID('0a7a15ff-aa13-4ac2-897c-9bdf30ce175b')
def ResourceUUID(value):
if isinstance(value, uuid.UUID):
return value
if '/' in value:
raise ValueError("'/' is not supported in resource id")
try: