Fix vfc-catalog pep8 E123,E125,W391 issue
[vfc/nfvo/catalog.git] / catalog / packages / ns_package.py
index 2b88a75..bd700b9 100644 (file)
@@ -18,13 +18,13 @@ import os
 import sys
 import traceback
 
-from catalog.pub.config.config import CATALOG_ROOT_PATH
+from catalog.pub.config.config import CATALOG_ROOT_PATH, CATALOG_URL_PATH
+from catalog.pub.config.config import REG_TO_MSB_REG_PARAM
 from catalog.pub.database.models import NSPackageModel, VnfPackageModel
 from catalog.pub.exceptions import CatalogException
 from catalog.pub.msapi import sdc
 from catalog.pub.utils import fileutil
 from catalog.pub.utils import toscaparser
-from rest_framework import status
 
 logger = logging.getLogger(__name__)
 
@@ -87,9 +87,10 @@ def parse_nsd(csar_id, inputs):
     ret= None
     try:
         ns_pkg = NSPackageModel.objects.filter(nsPackageId=csar_id)
-        if ns_pkg:
-            csar_path = ns_pkg[0].localFilePath
-            ret = {"model": toscaparser.parse_nsd(csar_path, inputs)}
+        if not ns_pkg:
+            raise CatalogException("NS CSAR(%s) does not exist." % csar_id)
+        csar_path = ns_pkg[0].localFilePath
+        ret = {"model": toscaparser.parse_nsd(csar_path, inputs)}
     except CatalogException as e:
         return [1, e.message]
     except:
@@ -136,11 +137,11 @@ class NsPackage(object):
             nsdDesginer=nsd["metadata"].get("vendor", "undefined"),
             nsdDescription=nsd["metadata"].get("description", ""),
             nsdVersion=nsd["metadata"].get("version", "undefined"),
-            nsPackageUri="%s/%s" % (csar_id, csar_name),
+            nsPackageUri=csar_name,
             sdcCsarId=csar_id,
             localFilePath=local_file_name,
             nsdModel=nsd_json
-            ).save()
+        ).save()
 
         return [0, "CSAR(%s) distributed successfully." % csar_id]
 
@@ -168,9 +169,15 @@ class NsPackage(object):
             package_info["nsdId"] = csars[0].nsdId
             package_info["nsdProvider"] = csars[0].nsdDesginer
             package_info["nsdVersion"] = csars[0].nsdVersion
-
-        return [0, {"csarId": csar_id, 
-            "packageInfo": package_info}]
+            package_info["csarName"] = csars[0].nsPackageUri
+            package_info["downloadUrl"] = "http://%s:%s/%s/%s/%s" % (
+                REG_TO_MSB_REG_PARAM["nodes"][0]["ip"],
+                REG_TO_MSB_REG_PARAM["nodes"][0]["port"],
+                CATALOG_URL_PATH,
+                csar_id,
+                csars[0].nsPackageUri)
+
+        return [0, {"csarId": csar_id, "packageInfo": package_info}]
 
     def delete_catalog(self, csar_id):
         local_path = os.path.join(CATALOG_ROOT_PATH, csar_id)