From 2535727a7ca18543510b0fbe480f315f0917cec7 Mon Sep 17 00:00:00 2001 From: Zhongyue Luo Date: Mon, 24 Dec 2012 11:49:46 +0800 Subject: [PATCH] Removes redundant code in quantum.api.v2.base.create() Handles collections and one item in one routine by creating a items list Fixes bug #1093390 Change-Id: I24b892ebff52889f17ed9ea8d17e8964e3de25f6 --- quantum/api/v2/base.py | 38 ++++++++------------------------------ 1 file changed, 8 insertions(+), 30 deletions(-) diff --git a/quantum/api/v2/base.py b/quantum/api/v2/base.py index 0b65b9a52d..7d8df29775 100644 --- a/quantum/api/v2/base.py +++ b/quantum/api/v2/base.py @@ -292,42 +292,20 @@ class Controller(object): try: if self._collection in body: # Have to account for bulk create - for item in body[self._collection]: - self._validate_network_tenant_ownership( - request, - item[self._resource], - ) - policy.enforce(request.context, - action, - item[self._resource], - plugin=self._plugin) - try: - count = QUOTAS.count(request.context, self._resource, - self._plugin, self._collection, - item[self._resource]['tenant_id']) - kwargs = {self._resource: count + 1} - except exceptions.QuotaResourceUnknown as e: - # We don't want to quota this resource - LOG.debug(e) - except Exception: - raise - else: - QUOTAS.limit_check(request.context, - item[self._resource]['tenant_id'], - **kwargs) + items = body[self._collection] else: - self._validate_network_tenant_ownership( - request, - body[self._resource] - ) + items = [body] + for item in items: + self._validate_network_tenant_ownership(request, + item[self._resource]) policy.enforce(request.context, action, - body[self._resource], + item[self._resource], plugin=self._plugin) try: count = QUOTAS.count(request.context, self._resource, self._plugin, self._collection, - body[self._resource]['tenant_id']) + item[self._resource]['tenant_id']) kwargs = {self._resource: count + 1} except exceptions.QuotaResourceUnknown as e: # We don't want to quota this resource @@ -336,7 +314,7 @@ class Controller(object): raise else: QUOTAS.limit_check(request.context, - body[self._resource]['tenant_id'], + item[self._resource]['tenant_id'], **kwargs) except exceptions.PolicyNotAuthorized: LOG.exception(_("Create operation not authorized"))