diff --git a/database.py b/database.py index c1d3560..e4339b6 100644 --- a/database.py +++ b/database.py @@ -175,6 +175,7 @@ class Repro(dj.Manual): ---- repro_name : varchar(512) settings : varchar(3000) + run : int start : float duration : float """ @@ -198,6 +199,7 @@ class Stimulus(dj.Manual): stimulus_name : varchar(512) mtag_id : varchar(50) start : float + start_index : int duration : float settings : varchar(3000) """ @@ -369,6 +371,7 @@ def scan_nix_file_for_repros(dataset): stim["stimulus_id"] = str(uuid.uuid1()) stim["stimulus_index"] = p stim["start"] = stim_start + stim["start_index"] = -1; stim["duration"] = stim_duration stim["settings"] = settings stim["mtag_id"] = mt.id @@ -380,7 +383,22 @@ def scan_nix_file_for_repros(dataset): def scan_folder_for_repros(dataset): - + print("No nix-file, scanning directory!") + repro_settings = ut.read_stimuli_file(dataset["data_source"]) + for i, rs in enumerate(repro_settings): + rp = Repro.get_template_tuple() + rp["run"] = rs["Run"] + rp["repro_name"] = rs["RePro"] + rp["dataset_id"] = dataset["dataset_id"] + rp["repro_id"] = t.name + settings = t.metadata.find_sections(lambda x: "settings" in x.type) + if len(settings) > 0: + rp["settings"] = ut.nix_metadata_to_yaml(settings[0]) + else: + rp["settings"] = ut.nix_metadata_to_yaml(t.metadata) + rp["start"] = t.position[0] + rp["duration"] = t.extent[0] + Repro.insert1(rp, skip_duplicates=True) pass