def get_run(self, run_id=None, run_number=None): assert [run_id, run_number].count(None) == 1 if run_id is not None: return Run(self, run_id) runs = [r for r in self.get_all_runs() if r.run == str(run_number)] if len(runs) == 0: raise Sorry("Couldn't find run %s" % run_number) assert len(runs) == 1 return runs[0]
def __init__(self, params, composite_tag=None, rank=0): super(DialsProcessorWithLogging, self).__init__(params, composite_tag, rank) self.tt_low = None self.tt_high = None if self.params.experiment_tag is None: return assert params.db.logging_batch_size >= 1 from libtbx.mpi4py import MPI comm = MPI.COMM_WORLD self.queries = [] self.rank = rank if comm.size > 1: if rank == 0: db_app = dxtbx_xfel_db_application(params, cache_connection=False, mode='cache_commits') run = db_app.get_run(run_number=self.params.input.run_num) run_id = run.id rund = run._db_dict trial = db_app.get_trial(trial_number=params.input.trial) trial_id = trial.id triald = trial._db_dict else: db_app = None run_id = None rund = None trial_id = None triald = None self.db_app, run_id, rund, trial_id, triald = comm.bcast( (db_app, run_id, rund, trial_id, triald), root=0) self.run = Run(self.db_app, run_id=run_id, **rund) self.trial = Trial(self.db_app, trial_id=trial_id, **triald) else: self.db_app = dxtbx_xfel_db_application(params, cache_connection=False, mode='cache_commits') self.run = self.db_app.get_run( run_number=self.params.input.run_num) self.trial = self.db_app.get_trial(trial_number=params.input.trial) self.n_strong = None
def create_run(self, **kwargs): return Run(self, **kwargs)