Exemplo n.º 1
0
 def __init__(self, workdir='.', backup=False, prev_task=None,
              prev_folder=None, link_prev_files=None, copy_prev_files=None, 
              share_folder=None, link_share_files=None, copy_share_files=None,
              link_abs_files=None, copy_abs_files=None):
     # workdir has to be relative in order to be chained
     # prev_task is dereferenced to folder dynamically.
     # folders are absolute.
     super().__init__(workdir)
     self.backup = backup
     assert prev_task is None or prev_folder is None
     self.prev_task = prev_task
     self.prev_folder = get_abs_path(prev_folder)
     self.share_folder = get_abs_path(share_folder)
     self.link_prev_files = check_list(link_prev_files)
     self.copy_prev_files = check_list(copy_prev_files)
     self.link_share_files = check_list(link_share_files)
     self.copy_share_files = check_list(copy_share_files)
     self.link_abs_files = check_list(link_abs_files)
     self.copy_abs_files = check_list(copy_abs_files)
Exemplo n.º 2
0
 def set_record_file(self, record_file):
     self.record_file = get_abs_path(record_file)
     for task in self.child_tasks:
         if isinstance(task, Workflow):
             task.set_record_file(record_file)
Exemplo n.º 3
0
 def set_init_folder(self, init_folder):
     start = self.child_tasks[0]
     while isinstance(start, Workflow):
         start = start.child_tasks[0]
     start.set_prev_folder(get_abs_path(init_folder))
Exemplo n.º 4
0
 def __init__(self, child_tasks, workdir='.', record_file=None):
     super().__init__(workdir)
     self.record_file = get_abs_path(record_file)
     self.child_tasks = [self.make_child(task) for task in child_tasks]
     self.postmod_hook()