Set resources as loaded on get

* Setting a resource to loaded prevents future lazy-loading
* Remove lookup by uuid in getid helper as it is no longer used
* Fixes bug 971183

Change-Id: Idd9d39ded41b94b08b03476c30e50277b477423d
This commit is contained in:
Brian Waldon 2012-04-03 19:16:05 -07:00
parent f6014dd8c5
commit ea448e2497
2 changed files with 4 additions and 11 deletions
novaclient

@ -37,15 +37,8 @@ except NameError:
def getid(obj):
"""
Abstracts the common pattern of allowing both an object or an object's ID
(UUID) as a parameter when dealing with relationships.
as a parameter when dealing with relationships.
"""
# Try to return the object's UUID first, if we have a UUID.
try:
if obj.uuid:
return obj.uuid
except AttributeError:
pass
try:
return obj.id
except AttributeError:
@ -147,9 +140,9 @@ class Manager(utils.HookableMixin):
def _get(self, url, response_key=None):
resp, body = self.api.client.get(url)
if response_key:
return self.resource_class(self, body[response_key])
return self.resource_class(self, body[response_key], loaded=True)
else:
return self.resource_class(self, body)
return self.resource_class(self, body, loaded=True)
def _create(self, url, body, response_key, return_raw=False, **kwargs):
self.run_hooks('modify_body_for_create', body, **kwargs)

@ -35,7 +35,7 @@ class Keypair(base.Resource):
setattr(self, k, v)
@property
def uuid(self):
def id(self):
return self.name
def delete(self):