From 154b4ef84483626d028590e6e22c0ce9901abaaa Mon Sep 17 00:00:00 2001 From: Don Kuntz Date: Mon, 19 Aug 2019 17:54:35 -0500 Subject: [PATCH] Simplify xml_serialize, warn when unknown type used --- moto/ec2/responses/launch_templates.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/moto/ec2/responses/launch_templates.py b/moto/ec2/responses/launch_templates.py index ab6f54be1..36c10eea1 100644 --- a/moto/ec2/responses/launch_templates.py +++ b/moto/ec2/responses/launch_templates.py @@ -20,28 +20,27 @@ def xml_root(name): def xml_serialize(tree, key, value): - if key: - name = key[0].lower() + key[1:] - if isinstance(value, list): - if name[-1] == 's': - name = name[:-1] + name = key[0].lower() + key[1:] + if isinstance(value, list): + if name[-1] == 's': + name = name[:-1] - name = name + 'Set' + name = name + 'Set' - node = ElementTree.SubElement(tree, name) - else: - node = tree + node = ElementTree.SubElement(tree, name) if isinstance(value, (str, int, float, six.text_type)): node.text = str(value) - elif isinstance(value, bool): - node.text = str(value).lower() elif isinstance(value, dict): for dictkey, dictvalue in six.iteritems(value): xml_serialize(node, dictkey, dictvalue) elif isinstance(value, list): for item in value: xml_serialize(node, 'item', item) + elif value == None: + pass + else: + raise NotImplementedError("Don't know how to serialize \"{}\" to xml".format(value.__class__)) def pretty_xml(tree):