copy_tree_from wasn't actually making any symlinks.
[htsworkflow.git] / htsworkflow / submission / results.py
index ca6f1e92438ff9a7dd64042196545e6bf06129b6..4f815ad43f716775803f0e3c593cba787e6ca9bc 100644 (file)
@@ -48,12 +48,13 @@ class ResultMap(MutableMapping):
     def make_tree_from(self, source_path, destpath = None):
         """Create a tree using data files from source path.
         """
-        print source_path, destpath
         if destpath is None:
             destpath = os.getcwd()
 
         for lib_id in self.results_order:
-            lib_path = self.results[lib_id]
+            abs_lib_path = os.path.abspath(self.results[lib_id])
+            lib_path = os.path.relpath(abs_lib_path, destpath)
+            LOGGER.debug('lib_path: %s', lib_path)
             lib_destination = os.path.join(destpath, lib_path)
             if not os.path.exists(lib_destination):
                 LOGGER.info("Making dir {0}".format(lib_destination))
@@ -61,15 +62,14 @@ class ResultMap(MutableMapping):
 
             source_rel_dir = os.path.join(source_path, lib_path)
             source_lib_dir = os.path.abspath(source_rel_dir)
+            LOGGER.debug("source_lib_dir: %s", source_lib_dir)
 
-            print "source_lib_dir", source_lib_dir
             for filename in os.listdir(source_lib_dir):
                 source_pathname = os.path.join(source_lib_dir, filename)
                 target_pathname = os.path.join(lib_destination, filename)
                 if not os.path.exists(source_pathname):
                     raise IOError(
                         "{0} does not exist".format(source_pathname))
-                print target_pathname
                 if not os.path.exists(target_pathname):
                     os.symlink(source_pathname, target_pathname)
                     LOGGER.info(