Exemple #1
0
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
Exemple #2
0
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
Exemple #5
0
 def clean_on_close():
     new_ids = set(get_all_record_ids()).difference(ids)
     clear_experiment_records(list(new_ids))
Exemple #6
0
 def reload_ids(self):
     return get_all_record_ids(experiment_ids=self.experiment_names,
                               filters=self.filters)
Exemple #7
0
 def clean_on_close():
     new_ids = set(get_all_record_ids()).difference(ids)
     clear_experiment_records(list(new_ids))
Exemple #8
0
 def reload_ids(self):
     return get_all_record_ids(experiment_ids= self.experiment_names, filters=self.filters)