From 21276555401d3f1c36ef53e61ffbdd3fc830ab03 Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Thu, 30 Nov 2023 11:02:54 +0100
Subject: [PATCH] TMSS-2836: skip idols. skip lofar2 units

---
 .../lofar2_siblings/tmss_lofar2_sibling_service      | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service b/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service
index 29ed75889d9..329bb340ccb 100755
--- a/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service
+++ b/SAS/TMSS/backend/services/lofar2_siblings/tmss_lofar2_sibling_service
@@ -41,6 +41,18 @@ class TMSSLofar2SiblingEventMessageHandler(TMSSEventMessageHandler):
         self.tmss_client.close()
 
     def onSchedulingUnitBlueprintCreated(self, id: int):
+        scheduling_unit = self.tmss_client.get_schedulingunit_blueprint(id, slim=True)
+        if scheduling_unit['project'].lower().strip() == 'idols':
+            logger.info("skipping creation of lofar2 sibling for idols unit id=%s", id)
+            return
+
+        stations = self.tmss_client.get_stations()
+        lofar2_stations = set([station for station, props in stations.items() if props['version']==2])
+
+        if set(scheduling_unit['specified_stations']) == lofar2_stations:
+            logger.info("skipping creation of lofar2 sibling for unit id=%s which is already using lofar2 stations", id)
+            return
+
         lofar2_unit = self.tmss_client.create_lofar2_sibling_scheduling_unit(id)
         if lofar2_unit is not None:
             logger.info("created lofar2 unit: %s", lofar2_unit['url'])
-- 
GitLab