From ef9065d32ebb66ce0f110b7608cef6f0382fc4d8 Mon Sep 17 00:00:00 2001 From: SamKirsch10 Date: Wed, 24 Jun 2015 13:28:23 -0600 Subject: [PATCH] bug fixes and pagination fixes --- .../mysql/transforms_repository.py | 2 +- monasca_events_api/v2/events.py | 8 +++++-- monasca_events_api/v2/transforms.py | 21 ++++++++----------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/monasca_events_api/common/repositories/mysql/transforms_repository.py b/monasca_events_api/common/repositories/mysql/transforms_repository.py index 586322c..d875d8d 100644 --- a/monasca_events_api/common/repositories/mysql/transforms_repository.py +++ b/monasca_events_api/common/repositories/mysql/transforms_repository.py @@ -97,7 +97,7 @@ class TransformsRepository(mysql_repository.MySQLRepository, .format(tenant_id)) query = (TransformsRepository.base_query + tenant_id_clause + TransformsRepository.order_by_clause) - print query + cursor.execute(query) return cursor.fetchall() diff --git a/monasca_events_api/v2/events.py b/monasca_events_api/v2/events.py index 13e9c9a..4ae40ba 100644 --- a/monasca_events_api/v2/events.py +++ b/monasca_events_api/v2/events.py @@ -12,6 +12,8 @@ # License for the specific language governing permissions and limitations # under the License. +import re + import falcon import collections @@ -61,7 +63,9 @@ class Events(events_api_v2.EventsV2API): if event_id: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) - result = self._list_event(tenant_id, event_id, req.uri) + result = self._list_event(tenant_id, event_id) + helpers.add_links_to_resource( + result[0], re.sub('/' + event_id, '', req.uri)) res.body = helpers.dumpit_utf8(result) res.status = falcon.HTTP_200 else: @@ -122,7 +126,7 @@ class Events(events_api_v2.EventsV2API): return helpers.paginate(self._build_events(rows), uri) @resource.resource_try_catch_block - def _list_event(self, tenant_id, event_id, uri): + def _list_event(self, tenant_id, event_id): rows = self._events_repo.list_event(tenant_id, event_id) return self._build_events(rows) diff --git a/monasca_events_api/v2/transforms.py b/monasca_events_api/v2/transforms.py index 782fb07..1564638 100644 --- a/monasca_events_api/v2/transforms.py +++ b/monasca_events_api/v2/transforms.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -import ast +import re import datetime import json from time import mktime @@ -75,7 +75,10 @@ class Transforms(transforms_api_v2.TransformsV2API): if transform_id: helpers.validate_authorization(req, self._default_authorized_roles) tenant_id = helpers.get_tenant_id(req) - res.body = self._list_transform(tenant_id, transform_id, req.uri) + result = self._list_transform(tenant_id, transform_id, req.uri) + helpers.add_links_to_resource( + result, re.sub('/' + transform_id, '', req.uri)) + res.body = json.dumps(result, cls=MyEncoder) res.status = falcon.HTTP_200 else: helpers.validate_authorization(req, self._default_authorized_roles) @@ -84,7 +87,8 @@ class Transforms(transforms_api_v2.TransformsV2API): offset = helpers.normalize_offset(helpers.get_query_param( req, 'offset')) - res.body = self._list_transforms(tenant_id, limit, offset, req.uri) + result = self._list_transforms(tenant_id, limit, offset, req.uri) + res.body = json.dumps(result, cls=MyEncoder) res.status = falcon.HTTP_200 def on_delete(self, req, res, transform_id): @@ -160,10 +164,8 @@ class Transforms(transforms_api_v2.TransformsV2API): try: transforms = self._transforms_repo.list_transforms(tenant_id, limit, offset) - for transform in transforms: - transform['specification'] = yaml.safe_dump(transform['specification']) transforms = helpers.paginate(transforms, uri) - return json.dumps(transforms, cls=MyEncoder) + return transforms except repository_exceptions.RepositoryException as ex: LOG.error(ex) raise falcon.HTTPInternalServerError('Service unavailable', @@ -173,12 +175,7 @@ class Transforms(transforms_api_v2.TransformsV2API): try: transform = self._transforms_repo.list_transform(tenant_id, transform_id)[0] - transform['specification'] = yaml.safe_dump( - transform['specification']) - transform_list = list() - transform_list.append(transform) - transform = helpers.paginate(transform, uri) - return json.dumps(transform_list, cls=MyEncoder) + return transform except repository_exceptions.RepositoryException as ex: LOG.error(ex) raise falcon.HTTPInternalServerError('Service unavailable',