From 7f4ea287bc7bbe25f56c768b353999173c39974d Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Fri, 3 Nov 2017 10:25:26 -0400 Subject: [PATCH] Fix issues in expression enabled InputNetworkConfiguration This enables setting using expressions for any network configuration functionality. --- confluent_server/confluent/messages.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/confluent_server/confluent/messages.py b/confluent_server/confluent/messages.py index 4ec8712e..e81060e4 100644 --- a/confluent_server/confluent/messages.py +++ b/confluent_server/confluent/messages.py @@ -740,11 +740,12 @@ class InputNetworkConfiguration(ConfluentInputMessage): nodeattrmap = {} for attr in inputdata: try: - inputdata[attr].format() + if inputdata[attr] is not None: + inputdata[attr].format() except (KeyError, IndexError): nodeattrmap[attr] = {} - for expanded in cfm.expand_attrib_expression(nodes, - inputdata[attr]): + for expanded in configmanager.expand_attrib_expression( + nodes, inputdata[attr]): node, value = expanded nodeattrmap[attr][node] = value if not nodeattrmap: @@ -756,7 +757,7 @@ class InputNetworkConfiguration(ConfluentInputMessage): self.inputbynode[node] = deepcopy(inputdata) for attr in self.inputbynode[node]: if attr in nodeattrmap: - self.inputbynode[node][attr] = nodeattrmap[attr][node][attr] + self.inputbynode[node][attr] = nodeattrmap[attr][node] def netconfig(self, node): return self.inputbynode[node]