[15746] Pkgmgr subscriber should not create a folder if the uploader has already...
authorsinhan <nandan.sinha@riftio.com>
Fri, 17 Mar 2017 21:01:02 +0000 (21:01 +0000)
committersinhan <nandan.sinha@riftio.com>
Fri, 17 Mar 2017 21:01:48 +0000 (21:01 +0000)
Signed-off-by: sinhan <nandan.sinha@riftio.com>
rwlaunchpad/plugins/rwpkgmgr/rift/tasklets/rwpkgmgr/subscriber/download_status.py

index b4acb5f..b7bed38 100644 (file)
@@ -58,7 +58,7 @@ class VnfdStatusSubscriber(DownloadStatusSubscriber):
         if action == RwDts.QueryAction.UPDATE:
             actionCreate(self, msg)
         else:
-            self.log.debug("VnfdStatusSubscriber: No action for ", action)
+            self.log.debug("VnfdStatusSubscriber: No action for {}".format(repr(action)))
             pass
 
     def get_xpath(self): 
@@ -80,7 +80,7 @@ class NsdStatusSubscriber(DownloadStatusSubscriber):
         if action == RwDts.QueryAction.UPDATE:
             actionCreate(self, msg)
         else:
-            self.log.debug("NsdStatusSubscriber: No action for ", action)
+            self.log.debug("NsdStatusSubscriber: No action for {}".format(repr(action)))
             pass
 
     def get_xpath(self): 
@@ -93,16 +93,23 @@ def actionCreate(descriptor, msg):
     '''
 
     desc_name = msg.name if msg.name else ""
-    download_dir = os.path.join(descriptor.DOWNLOAD_DIR, msg.id, desc_name)
-    
-    if not os.path.exists(download_dir):
-        os.makedirs(download_dir)
-        descriptor.log.debug("Created directory {}".format(download_dir))
-
-        model = RwYang.Model.create_libncx()
-        for module in descriptor.MODULE_DESC: model.load_module(module)
-
-        yaml_path = "{base}/{name}_{type}.yaml".format(base=download_dir, name=msg.name, type=descriptor.DESC_TYPE) 
-        with open(yaml_path,"w") as fh:
-            fh.write(msg.to_yaml(model))
+    download_dir = os.path.join(descriptor.DOWNLOAD_DIR, msg.id)
+
+    # If a download dir is present with contents, then we know it has been created in the 
+    # upload path. 
+    if os.path.exists(download_dir) and os.listdir(download_dir):
+        descriptor.log.debug("Skpping folder creation, {} already present".format(download_dir))
+        return
+    else: 
+        download_dir = os.path.join(download_dir, desc_name) 
+        if not os.path.exists(download_dir):
+            os.makedirs(download_dir)
+            descriptor.log.debug("Created directory {}".format(download_dir))
+
+            model = RwYang.Model.create_libncx()
+            for module in descriptor.MODULE_DESC: model.load_module(module)
+
+            yaml_path = "{base}/{name}_{type}.yaml".format(base=download_dir, name=msg.name, type=descriptor.DESC_TYPE) 
+            with open(yaml_path,"w") as fh:
+                fh.write(msg.to_yaml(model))