diff options
author | 2019-04-09 11:58:21 +0800 | |
---|---|---|
committer | 2019-04-09 11:58:21 +0800 | |
commit | 365788469ae57a285ba7590016bdc93cee45ba3f (patch) | |
tree | cc0c44085a8470d856e2b33eb9f02d5521950cd2 | |
parent | 70c7a96f9e94d0dcfd2156ded9466bd12ef81044 (diff) |
Refactor codes for ns descriptor
Change-Id: I6cbb1543178c1a9fd50fb1f7f7960b8a5c1c9f48
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r-- | catalog/packages/views/common.py | 7 | ||||
-rw-r--r-- | catalog/packages/views/ns_descriptor_views.py | 30 |
2 files changed, 14 insertions, 23 deletions
diff --git a/catalog/packages/views/common.py b/catalog/packages/views/common.py index f6b4a068..f7e3f708 100644 --- a/catalog/packages/views/common.py +++ b/catalog/packages/views/common.py @@ -21,6 +21,7 @@ from rest_framework.response import Response from catalog.pub.exceptions import CatalogException from catalog.pub.exceptions import NsdmBadRequestException from catalog.pub.exceptions import PackageNotFoundException +from catalog.pub.exceptions import ResourceNotFoundException logger = logging.getLogger(__name__) @@ -58,6 +59,12 @@ def view_safe_call_with_log(logger): detail=e.message, status=status.HTTP_404_NOT_FOUND ) + except ResourceNotFoundException as e: + logger.error(e.message) + return make_error_resp( + detail=e.message, + status=status.HTTP_404_NOT_FOUND + ) except NsdmBadRequestException as e: logger.error(e.message) return make_error_resp( diff --git a/catalog/packages/views/ns_descriptor_views.py b/catalog/packages/views/ns_descriptor_views.py index 942033e9..5a5310bd 100644 --- a/catalog/packages/views/ns_descriptor_views.py +++ b/catalog/packages/views/ns_descriptor_views.py @@ -27,6 +27,7 @@ from catalog.packages.serializers.nsd_info import NsdInfoSerializer from catalog.packages.serializers.nsd_infos import NsdInfosSerializer from catalog.packages.views.common import validate_data from catalog.pub.exceptions import CatalogException, ResourceNotFoundException +from .common import view_safe_call_with_log logger = logging.getLogger(__name__) @@ -51,33 +52,16 @@ logger = logging.getLogger(__name__) } ) @api_view(http_method_names=['GET', 'DELETE']) +@view_safe_call_with_log(logger=logger) def ns_info_rd(request, **kwargs): nsd_info_id = kwargs.get("nsdInfoId") if request.method == 'GET': - try: - data = NsDescriptor().query_single(nsd_info_id) - nsd_info = validate_data(data, NsdInfoSerializer) - return Response(data=nsd_info.data, status=status.HTTP_200_OK) - except ResourceNotFoundException as e: - logger.error(e.message) - error_data = {'error': e.message} - error_code = status.HTTP_404_NOT_FOUND - except Exception as e: - logger.error(e.message) - logger.error(traceback.format_exc()) - error_data = {'error': 'Query of NSD(%s) failed.' % nsd_info_id} - error_code = status.HTTP_500_INTERNAL_SERVER_ERROR - return Response(data=error_data, status=error_code) - + data = NsDescriptor().query_single(nsd_info_id) + nsd_info = validate_data(data, NsdInfoSerializer) + return Response(data=nsd_info.data, status=status.HTTP_200_OK) if request.method == 'DELETE': - try: - NsDescriptor().delete_single(nsd_info_id) - return Response(status=status.HTTP_204_NO_CONTENT) - except Exception as e: - logger.error(e.message) - logger.error(traceback.format_exc()) - error_data = {'error': 'Deletion of NSD(%s) failed.' % nsd_info_id} - return Response(data=error_data, status=status.HTTP_500_INTERNAL_SERVER_ERROR) + NsDescriptor().delete_single(nsd_info_id) + return Response(status=status.HTTP_204_NO_CONTENT) @swagger_auto_schema( |