Correct precondition generation
Currently, preconditions must include the set speed event as a
parameter, so the ability to generate a precondition with no parameters
is removed. Related to this, actions without parameters are supported
and was corrected to allow this.
Change-Id: Icf5898e1845cca80bd6bb0332363a0fec2b84a73
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/control/gen-fan-zone-defs.py b/control/gen-fan-zone-defs.py
index 4d310b9..dc28d1a 100755
--- a/control/gen-fan-zone-defs.py
+++ b/control/gen-fan-zone-defs.py
@@ -157,13 +157,19 @@
e += "},\n"
e += "std::vector<Action>{\n"
for a in d['actions']:
- e += "make_action(action::" + a['name'] + "(\n"
+ if len(a['parameters']) != 0:
+ e += "make_action(action::" + a['name'] + "(\n"
+ else:
+ e += "make_action(action::" + a['name'] + "\n"
for i, p in enumerate(a['parameters']):
if (i+1) != len(a['parameters']):
e += p + ",\n"
else:
e += p + "\n"
- e += ")),\n"
+ if len(a['parameters']) != 0:
+ e += ")),\n"
+ else:
+ e += "),\n"
e += "}},\n"
e += "},\n"
@@ -576,7 +582,7 @@
epc = next(p for p in events_data['preconditions']
if p['name'] == event['precondition']['name'])
params = []
- for p in epc['parameters']:
+ for p in epc['parameters'] or []:
param = {}
if p == 'groups':
param['type'] = "std::vector<PrecondGroup>"