direntry parser wasn't eating a trailing newline
[htsworkflow.git] / gaworkflow / copier.py
index f7a0e889ed27cc688bebd9f7e1e4bb68cbc91ee9..c28ea326d0d7d8557e43fa79aa1683d0e25fc4e8 100644 (file)
@@ -32,13 +32,19 @@ class rsync(object):
 
   def list(self):
     """Get a directory listing"""
-    dirs_to_copy = []
     args = copy.copy(self.cmd)
     args.append(self.source_base)
 
     logging.debug("Rsync cmd:" + " ".join(args))
     short_process = subprocess.Popen(args, stdout=subprocess.PIPE)
-    direntries = [ x.split() for x in short_process.stdout ]
+    return self.list_filter(short_process.stdout)
+
+  def list_filter(self, lines):
+    """
+    parse rsync directory listing
+    """
+    dirs_to_copy = []
+    direntries = [ x[0:42].split() + [x[43:-1]] for x in lines ]
     for permissions, size, filedate, filetime, filename in direntries:
       if permissions[0] == 'd':
         # hey its a directory, the first step to being something we want to 
@@ -203,7 +209,7 @@ class CopierBot(rpc.XmlRpcBot):
                 self.send(u, 'Sequencing run %s finished' % (runDir))
         if self.notify_runner is not None:
             for r in self.notify_runner:
-                self.rpc_send(self.runner, (runDir,), 'sequencingFinished')
+                self.rpc_send(r, (runDir,), 'sequencingFinished')
         logging.info("forwarding sequencingFinshed message for %s" % (runDir))
         
     def update(self, *args):