fix if run is not defined in old datasets

This commit is contained in:
Jan Grewe 2019-09-09 15:18:36 +02:00
parent 12c0807dd6
commit 8dd0bf7839

View File

@ -198,7 +198,7 @@ class Stimulus(dj.Manual):
stimulus_index : int
stimulus_name : varchar(512)
mtag_id : varchar(50)
start : float
start_time : float
start_index : int
duration : float
settings : varchar(3000)
@ -209,7 +209,8 @@ class Stimulus(dj.Manual):
if stimulus_id is not None:
tup = dict((Stimulus & {"stimulus_id": stimulus_id}).fetch1())
else:
tup = dict(stimulus_id=None, stimulus_index=None, stimulus_name="", start=0.0, duration=0.0, settings=None)
tup = dict(stimulus_id=None, stimulus_index=None, stimulus_name="", start_index=0, start_time=0.0,
duration=0.0, settings=None)
return tup
@ -370,7 +371,7 @@ def scan_nix_file_for_repros(dataset):
stim = Stimulus.get_template_tuple()
stim["stimulus_id"] = str(uuid.uuid1())
stim["stimulus_index"] = p
stim["start"] = stim_start
stim["start_time"] = stim_start
stim["start_index"] = -1
stim["duration"] = stim_duration
stim["settings"] = settings
@ -385,15 +386,16 @@ def scan_nix_file_for_repros(dataset):
def scan_folder_for_repros(dataset):
print("No nix-file, scanning directory!")
repro_settings, stim_indices = ut.read_stimuli_file(dataset["data_source"])
repro_counts = {}
for i, (rs, si) in enumerate(zip(repro_settings, stim_indices)):
rp = Repro.get_template_tuple()
path = []
if not ut.find_key_recursive(rs, "run", path):
ut.find_key_recursive(rs, "Run", path)
print(ut.deep_get(rs, path, 0))
rp["run"] = ut.deep_get(rs, path, 0)
if len(path) > 0:
rp["run"] = ut.deep_get(rs, path, 0)
else:
rp["run"] = -1
path = []
if not ut.find_key_recursive(rs, "repro", path):
@ -419,7 +421,8 @@ def scan_folder_for_repros(dataset):
repro.pop("repro_name")
repro.pop("start")
repro.pop("duration")
for j, s in enumerate(si):
for j, k in enumerate(si.keys()):
s = int(si[k])
stim_start = 0.
path = []
if not ut.find_key_recursive(rs, "duration", path):
@ -433,7 +436,7 @@ def scan_folder_for_repros(dataset):
stim = Stimulus.get_template_tuple()
stim["stimulus_id"] = str(uuid.uuid1())
stim["stimulus_index"] = j
stim["start"] = stim_start
stim["start_time"] = stim_start
stim["start_index"] = s
stim["duration"] = stim_duration
stim["settings"] = yaml.dump(rs)
@ -478,6 +481,7 @@ if __name__ == "__main__":
data_dir = "/data/apteronotus"
# data_dir = "../high_freq_chirps/data"
# drop_tables()
datasets = glob.glob(os.path.join(data_dir, '2012-03-23-ad*'))
datasets = glob.glob(os.path.join(data_dir, '201*'))
populate(datasets)