summaryrefslogtreecommitdiffstats
path: root/catalog/packages/views/ns_descriptor_views.py
diff options
context:
space:
mode:
Diffstat (limited to 'catalog/packages/views/ns_descriptor_views.py')
-rw-r--r--catalog/packages/views/ns_descriptor_views.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/catalog/packages/views/ns_descriptor_views.py b/catalog/packages/views/ns_descriptor_views.py
index 19f9d1d8..653d161f 100644
--- a/catalog/packages/views/ns_descriptor_views.py
+++ b/catalog/packages/views/ns_descriptor_views.py
@@ -21,7 +21,7 @@ from catalog.packages.biz.ns_descriptor import create, delete_single, download,
from catalog.packages.serializers.create_nsd_info_request import CreateNsdInfoRequestSerializer
from catalog.packages.serializers.nsd_info import NsdInfoSerializer
from catalog.packages.serializers.nsd_infos import NsdInfosSerializer
-from catalog.pub.exceptions import CatalogException
+from catalog.pub.exceptions import CatalogException, ResourceNotFoundException
from drf_yasg.utils import no_body, swagger_auto_schema
from rest_framework import status
from rest_framework.decorators import api_view
@@ -36,6 +36,7 @@ logger = logging.getLogger(__name__)
request_body=no_body,
responses={
status.HTTP_200_OK: NsdInfoSerializer(),
+ status.HTTP_404_NOT_FOUND: 'NSDs do not exist.',
status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"
}
)
@@ -55,6 +56,9 @@ def ns_info_rd(request, nsdInfoId): # TODO
data = query_single(nsdInfoId)
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)
+ return Response(data={'error': 'NSDs do not exist.'}, status=status.HTTP_404_NOT_FOUND)
except CatalogException as e:
logger.error(e.message)
error_msg = {'error': 'Query of a NSD failed.'}
@@ -143,6 +147,7 @@ def ns_descriptors_rc(request, *args, **kwargs):
request_body=no_body,
responses={
status.HTTP_204_NO_CONTENT: None,
+ status.HTTP_404_NOT_FOUND: 'NSD does not exist.',
status.HTTP_500_INTERNAL_SERVER_ERROR: "Internal error"
}
)
@@ -154,6 +159,9 @@ def nsd_content_ru(request, *args, **kwargs):
try:
upload(files[0], nsd_info_id)
return Response(data=None, status=status.HTTP_204_NO_CONTENT)
+ except CatalogException as e:
+ logger.error(e.message)
+ error_msg = {'error': 'Uploading NSD content failed.'}
except Exception as e:
logger.error(e.message)
logger.error(traceback.format_exc())
@@ -180,6 +188,12 @@ def nsd_content_ru(request, *args, **kwargs):
response['Content-Disposition'] = 'attachment; filename=%s' % file_name.encode('utf-8')
response['Content-Length'] = end - start
return response
+ except ResourceNotFoundException as e:
+ logger.error(e.message)
+ return Response(data={'error': 'NSD does not exist.'}, status=status.HTTP_404_NOT_FOUND)
+ except CatalogException as e:
+ logger.error(e.message)
+ error_msg = {'error': 'Downloading NSD content failed.'}
except Exception as e:
logger.error(e.message)
logger.error(traceback.format_exc())