From 555cfe9a88c8751fb173d3712bd82a6605389dfc Mon Sep 17 00:00:00 2001 From: droberts2013 Date: Thu, 23 May 2019 19:15:21 -0400 Subject: [PATCH] Handle key already present --- src/main/resources/xlr_xldeploy/XLDeployClient.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/resources/xlr_xldeploy/XLDeployClient.py b/src/main/resources/xlr_xldeploy/XLDeployClient.py index cef3223..9e2c1e5 100644 --- a/src/main/resources/xlr_xldeploy/XLDeployClient.py +++ b/src/main/resources/xlr_xldeploy/XLDeployClient.py @@ -478,12 +478,18 @@ def get_deployed_applications_for_environment(self, environment, date=None): del deployed_apps[task['metadata']['application']] return deployed_apps + def add_or_update_entry(self, entries, key, value): + for entry in entries: + if entry.tag == "entry" and entry.attrib["key"] == key: + entry.text = value + return + newentry = ET.Element('entry', key=key) + newentry.text =value + entries.insert(0, newentry) + def add_entry_to_dictionary(self, dictionary_id, key, value): dictionary_xml = self.get_ci(dictionary_id, "xml") root = ET.fromstring(dictionary_xml) entries = root.find('entries') - newentry = ET.Element('entry', key=key) - newentry.text = value - entries.insert(0, newentry) + self.add_or_update_entry(entries, key, value) self.update_ci(dictionary_id, ET.tostring(root), "xml") -