From fde26151072032f40dbdfdb3a0ffa2fd55db2ccbc1b3e3d698e920efc7eec891 Mon Sep 17 00:00:00 2001 From: PioApocalypse Date: Tue, 17 Feb 2026 14:37:35 +0100 Subject: [PATCH] changes method of instrument list deduplication picks first occurrence in every set (ded_lasers, ded_chambers, ded_rheeds) and eventually warns user if duplicates exist --- src/main.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/main.py b/src/main.py index ba39256..1992481 100644 --- a/src/main.py +++ b/src/main.py @@ -110,11 +110,21 @@ def deduplicate_instruments_from_layers(layers): lasers.append(instruments["laser_system"]) chambers.append(instruments["deposition_chamber"]) rheeds.append(instruments["rheed_system"]) + ded_lasers = list( set( lasers ) ) + ded_chambers = list( set( chambers ) ) + ded_rheeds = list( set( rheeds ) ) + elegant_list = [ ded_lasers, ded_chambers, ded_rheeds] + 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("Selecting the first occurence for every category...") instruments_used_dict = { - "laser_system": list( set( lasers ) ), - "deposition_chamber": list( set( chambers ) ), - "rheed_system" : list( set( rheeds ) ), + "laser_system": ded_lasers[0], + "deposition_chamber": ded_chambers[0], + "rheed_system": ded_rheeds[0], } + return instruments_used_dict + + # lasers = { f"layer_{lyr.layer_number}": lyr.laser_system for lyr in layers } # chambers = { f"layer_{lyr.layer_number}": lyr.deposition_chamber for lyr in layers } # rheeds = { f"layer_{lyr.layer_number}": lyr.rheed_system for lyr in layers }