From 4d6dbb4570ff6a583a4969fb122542a16f95bbc2 Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Thu, 11 Jun 2020 19:12:05 +0200
Subject: [PATCH] TMSS-207: adapted client code to new auto-generated json keys
 for <choice>_value and <related> ids

---
 MAC/Services/src/PipelineControl.py                       | 3 +--
 SAS/TMSS/client/lib/mains.py                              | 2 +-
 .../services/subtask_scheduling/lib/subtask_scheduling.py | 8 ++++----
 3 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/MAC/Services/src/PipelineControl.py b/MAC/Services/src/PipelineControl.py
index ca2c24b9073..f8c19d46387 100755
--- a/MAC/Services/src/PipelineControl.py
+++ b/MAC/Services/src/PipelineControl.py
@@ -365,8 +365,7 @@ class PipelineControlTMSSHandler(TMSSSubTaskEventMessageHandler):
             scheduled_pipeline_subtask_ids = []
             for subtask in scheduled_subtasks:
                 try:
-                    bits = subtask['url'].split('/')
-                    subtask_id = int(bits[bits.index("subtask") + 1])
+                    subtask_id = subtask['id']
                     scheduled_pipeline_subtask_ids.append(subtask_id)
                 except Exception as e:
                     logger.error(e)
diff --git a/SAS/TMSS/client/lib/mains.py b/SAS/TMSS/client/lib/mains.py
index f645b9643a1..6464ae04003 100644
--- a/SAS/TMSS/client/lib/mains.py
+++ b/SAS/TMSS/client/lib/mains.py
@@ -92,7 +92,7 @@ def main_set_subtask_state():
     try:
         with TMSSsession.create_from_dbcreds_for_ldap() as session:
             changed_subtask = session.set_subtask_status(args.subtask_id, args.state)
-            print("%s now has state %s" % (changed_subtask['url'], changed_subtask['state']))
+            print("%s now has state %s, see: %s" % (changed_subtask['id'], changed_subtask['state_value'], changed_subtask['url']))
     except Exception as e:
         print(e)
         exit(1)
diff --git a/SAS/TMSS/services/subtask_scheduling/lib/subtask_scheduling.py b/SAS/TMSS/services/subtask_scheduling/lib/subtask_scheduling.py
index bb8f136e467..d2b2d44b740 100644
--- a/SAS/TMSS/services/subtask_scheduling/lib/subtask_scheduling.py
+++ b/SAS/TMSS/services/subtask_scheduling/lib/subtask_scheduling.py
@@ -66,14 +66,14 @@ class TMSSSubTaskSchedulingEventMessageHandler(TMSSSubTaskEventMessageHandler):
 
         for successor in successors:
             try:
-                suc_subtask_id = successor['url'].split('/')[successor['url'].split('/').index('subtask')+1] #ugly -> check how I can get the ¨id¨
-                suc_subtask_state = successor['state_str']
+                suc_subtask_id = successor['id']
+                suc_subtask_state = successor['state_value']
 
                 if suc_subtask_state == "defined":
                     logger.info("trying to schedule successor subtask %s for finished subtask %s", suc_subtask_id, subtask_id)
                     scheduled_successor = self.tmss_client.schedule_subtask(suc_subtask_id)
-                    suc_subtask_state = scheduled_successor['state_str']
-                    logger.info("successor subtask %s for finished subtask %s is now has state '%s'", suc_subtask_id, subtask_id, suc_subtask_state)
+                    suc_subtask_state = scheduled_successor['state_value']
+                    logger.info("successor subtask %s for finished subtask %s now has state '%s', see %s", suc_subtask_id, subtask_id, suc_subtask_state, scheduled_successor['url'])
                 else:
                     logger.warning("skipping scheduling of successor subtask %s for finished subtask %s because its state is '%s'", suc_subtask_id, subtask_id, suc_subtask_state)
 
-- 
GitLab