def experiment_testing_context(close_figures_at_end = True, new_experiment_lib = False): """ Use this context when testing the experiment/experiment_record infrastructure. Should only really be used in test_experiment_record.py """ ids = get_all_record_ids() global keep_record_by_default old_val = keep_record_by_default keep_record_by_default = True if new_experiment_lib: with hold_global_experiment_libary(): yield else: yield keep_record_by_default = old_val if close_figures_at_end: from matplotlib import pyplot as plt plt.close('all') def clean_on_close(): new_ids = set(get_all_record_ids()).difference(ids) clear_experiment_records(list(new_ids)) atexit.register(clean_on_close) # We register this on exit to avoid race conditions with system commands when we open figures externally
def experiment_testing_context(close_figures_at_end = True, new_experiment_lib = False): """ Use this context when testing the experiment/experiment_record infrastructure. Should only really be used in test_experiment_record.py """ ids = get_all_record_ids() global keep_record_by_default old_val = keep_record_by_default keep_record_by_default = True if new_experiment_lib: with hold_global_experiment_libary(): yield else: yield keep_record_by_default = old_val if close_figures_at_end: from matplotlib import pyplot as plt plt.close('all') def clean_on_close(): new_ids = set(get_all_record_ids()).difference(ids) clear_experiment_records(list(new_ids)) atexit.register(clean_on_close) # We register this on exit to avoid race conditions with system commands when we open figures externally
def get_experient_to_record_dict(experiment_ids=None): """ Given a list of experiment ids, return an OrderedDict whose keys are the experiment ids and whose values are lists of experiment record ids. :param experiment_ids: A list of experiment ids. (Defaults to all imported experiments) :return: A dict<experiment_id -> list<experiment_record_id> """ if experiment_ids is None: experiment_ids = get_global_experiment_library().keys() record_ids = get_all_record_ids(experiment_ids) exp_rec_dict = OrderedDict((exp_id, []) for exp_id in experiment_ids) for rid in record_ids: rec = load_experiment_record(rid) exp_id = rec.get_experiment_id() exp_rec_dict[exp_id].append(rid) return exp_rec_dict
def get_experient_to_record_dict(experiment_ids = None): """ Given a list of experiment ids, return an OrderedDict whose keys are the experiment ids and whose values are lists of experiment record ids. :param experiment_ids: A list of experiment ids. (Defaults to all imported experiments) :return: A dict<experiment_id -> list<experiment_record_id> """ if experiment_ids is None: experiment_ids = get_global_experiment_library().keys() record_ids = get_all_record_ids(experiment_ids) exp_rec_dict = OrderedDict((exp_id, []) for exp_id in experiment_ids) for rid in record_ids: rec = load_experiment_record(rid) exp_id = rec.get_experiment_id() exp_rec_dict[exp_id].append(rid) return exp_rec_dict
def clean_on_close(): new_ids = set(get_all_record_ids()).difference(ids) clear_experiment_records(list(new_ids))
def reload_ids(self): return get_all_record_ids(experiment_ids=self.experiment_names, filters=self.filters)
def clean_on_close(): new_ids = set(get_all_record_ids()).difference(ids) clear_experiment_records(list(new_ids))
def reload_ids(self): return get_all_record_ids(experiment_ids= self.experiment_names, filters=self.filters)