copy_tree_from wasn't actually making any symlinks.
authorDiane Trout <diane@ghic.org>
Tue, 18 Jun 2013 00:19:22 +0000 (17:19 -0700)
committerDiane Trout <diane@ghic.org>
Tue, 18 Jun 2013 00:19:22 +0000 (17:19 -0700)
It turns out at some point the results class switched to using
full paths. this meant my os.path.join's didn't work as it
didn't modify fullly qualified paths.

This patch converts the result lib path to a relative path based
on the destination so it can compute source paths more easily.

htsworkflow/submission/results.py

index c9000e41e79f3c3e2b2962a4465636cdb718c933..4f815ad43f716775803f0e3c593cba787e6ca9bc 100644 (file)
@@ -52,7 +52,9 @@ class ResultMap(MutableMapping):
             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))
@@ -60,6 +62,7 @@ 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)
 
             for filename in os.listdir(source_lib_dir):
                 source_pathname = os.path.join(source_lib_dir, filename)