aboutsummaryrefslogtreecommitdiffstats
path: root/genericparser/packages/views/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'genericparser/packages/views/common.py')
-rw-r--r--genericparser/packages/views/common.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/genericparser/packages/views/common.py b/genericparser/packages/views/common.py
index 70637a9..41ba17c 100644
--- a/genericparser/packages/views/common.py
+++ b/genericparser/packages/views/common.py
@@ -19,10 +19,14 @@ from rest_framework import status
from rest_framework.response import Response
from genericparser.pub.exceptions import GenericparserException
+from genericparser.pub.exceptions import BadRequestException
from genericparser.pub.exceptions import NsdmBadRequestException
from genericparser.pub.exceptions import PackageNotFoundException
from genericparser.pub.exceptions import ResourceNotFoundException
from genericparser.pub.exceptions import ArtifactNotFoundException
+from genericparser.pub.exceptions import NsdmDuplicateSubscriptionException
+from genericparser.pub.exceptions import VnfPkgDuplicateSubscriptionException
+from genericparser.pub.exceptions import VnfPkgSubscriptionException
logger = logging.getLogger(__name__)
@@ -54,6 +58,18 @@ def view_safe_call_with_log(logger):
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
+ except NsdmDuplicateSubscriptionException as e:
+ logger.error(e.message)
+ return make_error_resp(
+ detail=e.message,
+ status=status.HTTP_303_SEE_OTHER
+ )
+ except VnfPkgDuplicateSubscriptionException as e:
+ logger.error(e.message)
+ return make_error_resp(
+ detail=e.message,
+ status=status.HTTP_303_SEE_OTHER
+ )
except PackageNotFoundException as e:
logger.error(e.message)
return make_error_resp(
@@ -72,12 +88,24 @@ def view_safe_call_with_log(logger):
detail=e.message,
status=status.HTTP_404_NOT_FOUND
)
+ except BadRequestException as e:
+ logger.error(e.message)
+ return make_error_resp(
+ detail=e.message,
+ status=status.HTTP_400_BAD_REQUEST
+ )
except NsdmBadRequestException as e:
logger.error(e.message)
return make_error_resp(
detail=e.message,
status=status.HTTP_400_BAD_REQUEST
)
+ except VnfPkgSubscriptionException as e:
+ logger.error(e.message)
+ return make_error_resp(
+ detail=e.message,
+ status=status.HTTP_500_INTERNAL_SERVER_ERROR
+ )
except GenericparserException as e:
logger.error(e.message)
return make_error_resp(