From d83873c763e08cee124329a87be6a555da565187d4f4124e0dfbdfeca9be3f44 Mon Sep 17 00:00:00 2001 From: PioApocalypse Date: Tue, 17 Feb 2026 14:54:33 +0100 Subject: [PATCH] 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 --- src/main.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main.py b/src/main.py index ece1ef5..8c770d2 100644 --- a/src/main.py +++ b/src/main.py @@ -114,8 +114,12 @@ def deduplicate_instruments_from_layers(layers): ded_chambers = list( set( chambers ) ) ded_rheeds = list( set( 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 ]): 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...") instruments_used_dict = { "laser_system": ded_lasers[0],