X-Git-Url: https://gerrit.onap.org/r/gitweb?p=modeling%2Fetsicatalog.git;a=blobdiff_plain;f=genericparser%2Fpackages%2Fviews%2Fcommon.py;h=41ba17c4cd95ec772a25432528990dca0c5e513b;hp=70637a9b29ae1ab12fc5e0f2b6398d8f24cdbb19;hb=52a969dcc2a935930a559b1780d7c95e1cc45d73;hpb=63c392e9cca3c6654e8383f49e5136fa86d1c72a 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(