diff options
Diffstat (limited to 'genericparser/packages/views/common.py')
-rw-r--r-- | genericparser/packages/views/common.py | 28 |
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( |