From 23c5706b9bed161826f94379049bff56c3fd5381 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Fri, 30 Jun 2017 15:39:58 +0200 Subject: [PATCH] formdef: allow empty tags on import (#17291) --- tests/test_formdef_import.py | 11 +++++++++++ wcs/formdef.py | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/test_formdef_import.py b/tests/test_formdef_import.py index 574c5bdf..3b2acd87 100644 --- a/tests/test_formdef_import.py +++ b/tests/test_formdef_import.py @@ -65,6 +65,17 @@ def test_text_attributes(): f2 = assert_json_import_export_works(formdef) assert f2.url_name == formdef.url_name +def test_empty_description_tag(): + formdef = FormDef() + formdef.name = 'empty' + assert_xml_import_export_works(formdef) + export = ET.tostring(export_to_indented_xml(formdef)) + # add empty description tag + export = export.replace('empty', 'empty') + + formdef2 = FormDef.import_from_xml_tree(ET.fromstring(export)) + assert not formdef2.description + def test_boolean_attributes(): formdef = FormDef() formdef.name = 'Foo' diff --git a/wcs/formdef.py b/wcs/formdef.py index 478f1c6c..c4f726ed 100644 --- a/wcs/formdef.py +++ b/wcs/formdef.py @@ -894,7 +894,7 @@ class FormDef(StorableObject): formdef.id = tree.attrib.get('id') for text_attribute in list(cls.TEXT_ATTRIBUTES): value = tree.find(text_attribute) - if value is None: + if value is None or value.text is None: continue setattr(formdef, text_attribute, value.text.encode(charset)) -- 2.13.2