From 33b3792dc9187f979be1f72898db65deb3593405 Mon Sep 17 00:00:00 2001 From: Thomas Madlener Date: Thu, 2 Nov 2023 11:03:29 +0100 Subject: [PATCH] Warn if any unresolved include statement is found (#148) --- .../scripts/convertMarlinSteeringToGaudi.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/k4MarlinWrapper/scripts/convertMarlinSteeringToGaudi.py b/k4MarlinWrapper/scripts/convertMarlinSteeringToGaudi.py index 5413bce4..0923a2be 100755 --- a/k4MarlinWrapper/scripts/convertMarlinSteeringToGaudi.py +++ b/k4MarlinWrapper/scripts/convertMarlinSteeringToGaudi.py @@ -86,10 +86,6 @@ def convertConstants(lines, tree): """ Find constant tags, write them to python and replace constants within themselves """ constants = dict() - constElements = tree.findall('constants/include') - if constElements: - print('WARNING: include statements found inside constants tag') - constElements = tree.findall('constants/constant') for const in constElements: constants[const.attrib.get('name')] = getValue(const) @@ -249,7 +245,18 @@ def convertProcessors(lines, tree, globParams, constants): return lines +def findWarnIncludes(tree): + """Check the parsed XML structure for include statments and issue a warning""" + if any(True for _ in tree.iter("include")): + print("ERROR: Found at least one statement in the Marlin steering file") + print(" These cannot be handled by the conversion script.") + print(" Use Marlin -n to resolve these includes and convert the output of that") + + sys.exit(1) + + def generateGaudiSteering(tree): + findWarnIncludes(tree) globParams = getGlobalParameters(tree) lines = [] createHeader(lines)