code refactor for genericparser
[modeling/etsicatalog.git] / genericparser / packages / views / common.py
index 70637a9..41ba17c 100644 (file)
@@ -19,10 +19,14 @@ from rest_framework import status
 from rest_framework.response import Response
 
 from genericparser.pub.exceptions import GenericparserException
 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 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__)
 
 
 logger = logging.getLogger(__name__)
 
@@ -54,6 +58,18 @@ def view_safe_call_with_log(logger):
         def wrapper(*args, **kwargs):
             try:
                 return func(*args, **kwargs)
         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(
             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
                 )
                     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 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(
             except GenericparserException as e:
                 logger.error(e.message)
                 return make_error_resp(