Update python2 to python3
[modeling/etsicatalog.git] / genericparser / packages / views / common.py
index 70637a9..efd045b 100644 (file)
@@ -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,38 +58,62 @@ def view_safe_call_with_log(logger):
         def wrapper(*args, **kwargs):
             try:
                 return func(*args, **kwargs)
+            except NsdmDuplicateSubscriptionException as e:
+                logger.error(e.args[0])
+                return make_error_resp(
+                    detail=e.args[0],
+                    status=status.HTTP_303_SEE_OTHER
+                )
+            except VnfPkgDuplicateSubscriptionException as e:
+                logger.error(e.args[0])
+                return make_error_resp(
+                    detail=e.args[0],
+                    status=status.HTTP_303_SEE_OTHER
+                )
             except PackageNotFoundException as e:
-                logger.error(e.message)
+                logger.error(e.args[0])
                 return make_error_resp(
-                    detail=e.message,
+                    detail=e.args[0],
                     status=status.HTTP_404_NOT_FOUND
                 )
             except ResourceNotFoundException as e:
-                logger.error(e.message)
+                logger.error(e.args[0])
                 return make_error_resp(
-                    detail=e.message,
+                    detail=e.args[0],
                     status=status.HTTP_404_NOT_FOUND
                 )
             except ArtifactNotFoundException as e:
-                logger.error(e.message)
+                logger.error(e.args[0])
                 return make_error_resp(
-                    detail=e.message,
+                    detail=e.args[0],
                     status=status.HTTP_404_NOT_FOUND
                 )
+            except BadRequestException as e:
+                logger.error(e.args[0])
+                return make_error_resp(
+                    detail=e.args[0],
+                    status=status.HTTP_400_BAD_REQUEST
+                )
             except NsdmBadRequestException as e:
-                logger.error(e.message)
+                logger.error(e.args[0])
                 return make_error_resp(
-                    detail=e.message,
+                    detail=e.args[0],
                     status=status.HTTP_400_BAD_REQUEST
                 )
+            except VnfPkgSubscriptionException as e:
+                logger.error(e.args[0])
+                return make_error_resp(
+                    detail=e.args[0],
+                    status=status.HTTP_500_INTERNAL_SERVER_ERROR
+                )
             except GenericparserException as e:
-                logger.error(e.message)
+                logger.error(e.args[0])
                 return make_error_resp(
-                    detail=e.message,
+                    detail=e.args[0],
                     status=status.HTTP_500_INTERNAL_SERVER_ERROR
                 )
             except Exception as e:
-                logger.error(e.message)
+                logger.error(e.args[0])
                 logger.error(traceback.format_exc())
                 return make_error_resp(
                     detail='Unexpected exception',