From 28dd07ce44d7862b16f2e2fa54cbebb4ac673286 Mon Sep 17 00:00:00 2001 From: awicenec Date: Wed, 14 Jul 2021 12:05:38 +0800 Subject: [PATCH] Changed group_start and group_end functions to support booleans, integers and strings --- .../dlg/dropmake/pg_generator.py | 35 +++++++++++++------ 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/daliuge-translator/dlg/dropmake/pg_generator.py b/daliuge-translator/dlg/dropmake/pg_generator.py index 54db7a8a8..ae8d766bc 100644 --- a/daliuge-translator/dlg/dropmake/pg_generator.py +++ b/daliuge-translator/dlg/dropmake/pg_generator.py @@ -300,19 +300,32 @@ def is_start_listener(self): ) def is_group_start(self): - return ( - self.has_group() - and "group_start" in self.jd - and 1 == int(self.jd["group_start"]) - ) + result = False + if self.has_group() \ + and "group_start" in self.jd: + gs = self.jd["group_start"] + if type(gs) == type(True): + result = gs + elif type(gs == type(1)): + result = (1 == gs) + elif type(gs) == type("s"): + result = gs.lower() in ("true") + return result - def is_group_end(self): - return ( - self.has_group() - and "group_end" in self.jd - and 1 == int(self.jd["group_end"]) - ) + def is_group_end(self): + result = False + if self.has_group() \ + and "group_end" in self.jd: + ge = self.jd["group_end"] + if type(ge) == type(True): + result = ge + elif type(ge == type(1)): + result = (1 == ge) + elif type(ge) == type("s"): + result = ge.lower() in ("true") + return result + def is_group(self): return self._isgrp