예제 #1
0
 def save(self, path):
     """ Save objects to disk for later reference
     """
     unix.mkdir(_full(path))
     for name in self.names:
         fullfile = join(_full(path), name+'.p')
         saveobj(fullfile, sys.modules[name])
예제 #2
0
 def test_saveload(self):
     filename = "tmp_pickle_file"
     obj_init = "Something"
     tools.saveobj(filename, obj_init)
     obj_read = tools.loadobj(filename)
     self.assertEqual(obj_read, obj_init)
     os.remove(filename)
예제 #3
0
 def save(self, path):
     """ Save objects to disk for later reference
     """
     fullpath = self.fullpath(path)
     unix.mkdir(fullpath)
     for key in self.objects:
         saveobj(fullpath +'/'+ key+'.p', sys.modules[key])
예제 #4
0
파일: pbs_sm.py 프로젝트: mpbl/seisflows
    def run(self, classname, funcname, hosts='all', **kwargs):
        """  Runs tasks in serial or parallel on specified hosts
        """
        name = task.__name__

        if PAR.VERBOSE >= 2:
            print 'running', name

        # save current state
        save_objects(join(PATH.OUTPUT, 'SeisflowsObjects'))

        # save keyword arguments
        kwargspath = join(PATH.OUTPUT, 'SeisflowsObjects',
                          classname + '_kwargs')
        kwargsfile = join(kwargspath, funcname + '.p')
        unix.mkdir(kwargspath)
        saveobj(kwargsfile, kwargs)

        if hosts == 'all':
            # run on all available nodes
            args = ('pbsdsh ' + findpath('system') + '/' +
                    'pbs/wrapper_pbsdsh ' + PATH.OUTPUT + ' ' + classname +
                    ' ' + funcname)
        elif hosts == 'head':
            # run on head node
            args = ('pbsdsh ' + findpath('system') + '/' +
                    'slurm/wrapper_pbsdsh ' + PATH.OUTPUT + ' ' + classname +
                    ' ' + funcname)
        else:
            raise Exception

        subprocess.call(args, shell=1)
예제 #5
0
파일: config.py 프로젝트: mpbl/seisflows
    def save(self, name, path='.'):
        """Saves current state"""
        try:
            fullpath = join(abspath(path), name)
        except:
            raise IOError(path)

        unix.mkdir(fullpath)
        for key in self.keys:
            saveobj(fullpath + '/' + key + '.p', sys.modules[key])
예제 #6
0
 def save_kwargs(self, classname, funcname, kwargs):
     kwargspath = join(PATH.OUTPUT, 'SeisflowsObjects', classname+'_kwargs')
     kwargsfile = join(kwargspath, funcname+'.p')
     unix.mkdir(kwargspath)
     saveobj(kwargsfile, kwargs)
예제 #7
0
 def save_kwargs(self, classname, funcname, kwargs):
     kwargspath = join(PATH.OUTPUT, 'SeisflowsObjects',
                       classname + '_kwargs')
     kwargsfile = join(kwargspath, funcname + '.p')
     unix.mkdir(kwargspath)
     saveobj(kwargsfile, kwargs)