summaryrefslogtreecommitdiffstats
path: root/control
diff options
context:
space:
mode:
Diffstat (limited to 'control')
-rwxr-xr-xcontrol/gen-fan-zone-defs.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/control/gen-fan-zone-defs.py b/control/gen-fan-zone-defs.py
index eb33956..adef86a 100755
--- a/control/gen-fan-zone-defs.py
+++ b/control/gen-fan-zone-defs.py
@@ -115,6 +115,16 @@ const std::vector<ZoneGroup> Manager::_zoneLayouts
'''
+def convertToMap(listOfDict):
+ """
+ Converts a list of dictionary entries to a std::map initialization list.
+ """
+ listOfDict = listOfDict.replace('[', '{')
+ listOfDict = listOfDict.replace(']', '}')
+ listOfDict = listOfDict.replace(':', ',')
+ return listOfDict
+
+
def getEventsInZone(zone_num, zone_conditions, events_data):
"""
Constructs the event entries defined for each zone using the events yaml
@@ -172,8 +182,12 @@ def getEventsInZone(zone_num, zone_conditions, events_data):
param['type'] = 'size_t'
params.append(param)
else:
- param['value'] = str(e['action'][p]['value']).lower()
param['type'] = str(e['action'][p]['type']).lower()
+ if p != 'map':
+ param['value'] = str(e['action'][p]['value']).lower()
+ else:
+ emap = convertToMap(str(e['action'][p]['value']))
+ param['value'] = param['type'] + emap
params.append(param)
action['parameters'] = params
event['action'] = action
OpenPOWER on IntegriCloud