raises IndexError if no laser, rheed sys. or chamber is ever specified

i.e. if one or more of these fields aren't specified thru all layers
This commit is contained in:
2026-02-17 14:54:33 +01:00
parent de401b5474
commit d83873c763

View File

@@ -114,8 +114,12 @@ def deduplicate_instruments_from_layers(layers):
ded_chambers = list( set( chambers ) ) ded_chambers = list( set( chambers ) )
ded_rheeds = list( set( rheeds ) ) ded_rheeds = list( set( rheeds ) )
elegant_list = [ ded_lasers, ded_chambers, ded_rheeds] elegant_list = [ ded_lasers, ded_chambers, ded_rheeds]
if 0 in [ len(i) for i in elegant_list ]:
# i.e. if length of one of the lists in elegant_list is zero (missing data):
raise IndexError("Missing data: no Laser System, Chamber and/or RHEED System is specified in any of the Deposition-type experiments related to this sample.")
if not all([ len(i) == 1 for i in elegant_list ]): if not all([ len(i) == 1 for i in elegant_list ]):
print("Warning: different instruments have been used for different layers - which is currently not allowed.") print("Warning: different instruments have been used for different layers - which is currently not allowed.")
# for every element in elegant list check if len > 1 and if it is
print("Selecting the first occurence for every category...") print("Selecting the first occurence for every category...")
instruments_used_dict = { instruments_used_dict = {
"laser_system": ded_lasers[0], "laser_system": ded_lasers[0],