def initialise(self, src_path, src_files): """ Initialise the grid: Create temp paths if needed, either shared or remotely on each host Copy source files to this folder """ ## create temporary directories if needed if self.shared_temp_path: if not os.path.exists(self.hosts[0].temp_path): os.makedirs(self.hosts[0].temp_path) else: if not hasattr(self, 'temp_paths'): self.temp_paths = {} for host in self.hosts: if not host.name in self.temp_paths: remote_mkdirs(host, host.temp_path, self.debug) self.temp_paths[host.name] = [host.temp_path,] ## saves folders created remotely ## copy source files compiled_files = [] for f in src_files: py_compile.compile(os.path.join(src_path, '%s.py' % f)) if os.path.exists(os.path.join(src_path, '%s.pyo' % f)): compiled_files += ['%s.pyo' % f] else: compiled_files += ['%s.pyc' % f] self.copy_files(src_path, compiled_files)
def create_subroot(self, subroot): if self.shared_temp_path: tempdir = os.path.join( self.hosts[0].temp_path, subroot) if not os.path.exists(tempdir): os.makedirs(tempdir) else: for host in self.hosts: tempdir = abspath(os.path.join(host.temp_path, subroot)) if not tempdir in self.temp_paths[host.name]: remote_mkdirs(host, tempdir, False) while not tempdir in self.temp_paths[host.name]: self.temp_paths[host.name].append(tempdir) tempdir = os.path.split(tempdir)[0]