Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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]