Merge "Fix connection timeouts in URL downloader"
[osm/SO.git] / rwlaunchpad / plugins / rwlaunchpadtasklet / rift / package / package.py
index 3ce3500..dc31b68 100644 (file)
@@ -161,6 +161,16 @@ class DescriptorPackage(object):
 
         return self.descriptor_msg.id
 
+    @property
+    def descriptor_name(self):
+        """  The descriptor name of this descriptor in the system """
+        if not self.descriptor_msg.has_field("name"):
+            msg = "Descriptor name not present"
+            self._log.error(msg)
+            raise PackageError(msg)
+
+        return self.descriptor_msg.name
+
     @classmethod
     def get_descriptor_patterns(cls):
         """ Returns a tuple of descriptor regex and Package Types  """
@@ -342,9 +352,14 @@ class DescriptorPackage(object):
 
         try:
             # Copy the contents of the file to the correct path
+            # For folder creation (or nested folders), dest_file appears w/ trailing "/" like: dir1/ or dir1/dir2/
+            # For regular file upload, dest_file appears as dir1/abc.txt
             dest_dir_path = os.path.dirname(dest_file)
             if not os.path.isdir(dest_dir_path):
                 os.makedirs(dest_dir_path)
+                if not os.path.basename(dest_file): 
+                    self._log.debug("Created dir path, no filename to insert in {}, skipping..".format(dest_dir_path))
+                    return
 
             with open(dest_file, 'wb') as dst_hdl:
                 with open(new_file, 'rb') as src_hdl: