summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorSandy Walsh <sandy.walsh@rackspace.com>2011-02-14 23:02:26 -0400
committerSandy Walsh <sandy.walsh@rackspace.com>2011-02-14 23:02:26 -0400
commitc15289a63c90218a573d5e75833985ec2ad8691e (patch)
tree0459ce81c6cacad41061682ceca67dd6d4d2bfdb /nova/api
parente65291cf34894322bd0f3f6661907e48e7a6a0b5 (diff)
better filtering
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/zones.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/nova/api/openstack/zones.py b/nova/api/openstack/zones.py
index 2c93c0c7b..830464ffd 100644
--- a/nova/api/openstack/zones.py
+++ b/nova/api/openstack/zones.py
@@ -33,6 +33,10 @@ def _filter_keys(item, keys):
return dict((k, v) for k, v in item.iteritems() if k in keys)
+def _scrub_zone(zone):
+ return _filter_keys(zone, ('id', 'api_url'))
+
+
class Controller(wsgi.Controller):
_serialization_metadata = {
@@ -44,7 +48,7 @@ class Controller(wsgi.Controller):
"""Return all zones in brief"""
items = db.zone_get_all(req.environ['nova.context'])
items = common.limited(items, req)
- items = [_filter_keys(item, ('id', 'api_url')) for item in items]
+ items = [_scrub_zone(item) for item in items]
return dict(zones=items)
def detail(self, req):
@@ -55,8 +59,7 @@ class Controller(wsgi.Controller):
"""Return data about the given zone id"""
zone_id = int(id)
zone = db.zone_get(req.environ['nova.context'], zone_id)
- zone = _filter_keys(zone, ('id', 'api_url'))
- return dict(zone=zone)
+ return dict(zone=_scrub_zone(zone))
def delete(self, req, id):
zone_id = int(id)
@@ -67,11 +70,11 @@ class Controller(wsgi.Controller):
context = req.environ['nova.context']
env = self._deserialize(req.body, req)
zone = db.zone_create(context, env["zone"])
- return dict(zone=zone)
+ return dict(zone=_scrub_zone(zone))
def update(self, req, id):
context = req.environ['nova.context']
env = self._deserialize(req.body, req)
zone_id = int(id)
zone = db.zone_update(context, zone_id, env["zone"])
- return dict(zone=zone)
+ return dict(zone=_scrub_zone(zone))