Skip to content

Commit db8c3f5

Browse files
committed
consolidating loops
1 parent 5ec7688 commit db8c3f5

File tree

1 file changed

+61
-15
lines changed

1 file changed

+61
-15
lines changed

src/aind_data_schema/rig.py

Lines changed: 61 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -128,38 +128,80 @@ def validate_device_names(cls, values): # noqa: C901
128128
actually exist
129129
"""
130130

131-
model_types = [type(model) for model in devices]
131+
device_names = []
132132

133-
to_check = [field for field in values.keys() if any(isinstance(values.get(field), model) for model in devices)]
133+
# model_types = [type(model) for model in devices]
134+
135+
# to_check = [field for field in values.keys() if any(isinstance(values.get(field), model) for model in model_types)]
136+
# print("values: ", values.keys())
137+
# print("checked: ", to_check)
138+
139+
# to_check2 = []
140+
141+
# for field in values.keys():
142+
# cur_value = values.get(field)
143+
# for model_type in devices:
144+
# if type(cur_value) is list:
145+
# for value in cur_value:
146+
# if isinstance(value, model_type):
147+
# to_check2 += [field]
148+
# else:
149+
# if isinstance(cur_value, model_type):
150+
# to_check2 += [field]
134151

135152
cameras = values.get("cameras")
136153
ephys_assemblies = values.get("ephys_assemblies")
137154
laser_assemblies = values.get("laser_assemblies")
138155
mouse_platform = values.get("mouse_platform")
156+
stimulus_devices = values.get("stimulus_devices")
157+
stick_microscopes = values.get("stick_microscopes")
158+
light_sources = values.get("light_sources")
159+
patch_coords = values.get("patch_cords")
160+
detectors = values.get("detectors")
161+
objectives = values.get("objectives")
162+
filters = values.get("filters")
163+
lenses = values.get("lenses")
164+
digital_micromirror_devices = values.get("digital_micromirror_devices")
165+
polygonal_scanners = values.get("polygonal_scanners")
166+
pockels_cells = values.get("pockels_cells")
167+
additional_devices = values.get("additional_devices")
139168
daqs = values.get("daqs")
140169

141170

142171

143172
if daqs is None:
144173
return values
145174

146-
device_names = [None]
175+
# device_names = [None]
176+
177+
# for field in to_check2:
178+
# v = values.get(field)
179+
# if v is not None:
180+
# if isinstance(v, list):
181+
# for item in v:
182+
# print("type: ", type(item))
183+
# print("item: ", item)
184+
# if isinstance(item, CameraAssembly):
185+
# device_names += item.camera.name
186+
# else:
187+
# device_names += [device.name for device in item]
188+
# else:
189+
# device_names += [v.name]
147190

148-
for field in to_check:
149-
v = values.get(field)
150-
if v is not None:
151-
if isinstance(v, list):
152-
device_names += [json.dumps(device) for device in values.get(field)]
153-
else:
154-
device_names += [v.name]
191+
# print(device_names)
155192

156-
print(device_names)
193+
for device_type in [daqs, stimulus_devices, light_sources, patch_coords,detectors, objectives, filters, lenses, digital_micromirror_devices, polygonal_scanners, pockels_cells, additional_devices]:
194+
if device_type is not None:
195+
device_names += [device.name for device in device_type]
157196

158-
if cameras is not None:
159-
device_names += [c.camera.name for c in cameras]
197+
for camera_device in [cameras, stick_microscopes]:
198+
if camera_device is not None:
199+
device_names += [camera.camera.name for camera in camera_device]
200+
201+
for nested_device in [ephys_assemblies, laser_assemblies]:
202+
if nested_device is not None:
203+
device_names += [device.name for device in nested_device]
160204

161-
if daqs is not None:
162-
device_names += [daq.name for daq in daqs]
163205

164206
if ephys_assemblies is not None:
165207
device_names += [probe.name for ephys_assembly in ephys_assemblies for probe in ephys_assembly.probes]
@@ -170,6 +212,10 @@ def validate_device_names(cls, values): # noqa: C901
170212
if mouse_platform is not None:
171213
device_names += [mouse_platform.name]
172214

215+
216+
print(device_names)
217+
218+
173219
for daq in daqs:
174220
if daq.channels is not None:
175221
for channel in daq.channels:

0 commit comments

Comments
 (0)