diff --git a/magma/upload.py b/magma/upload.py index 93d2413..40e6c67 100644 --- a/magma/upload.py +++ b/magma/upload.py @@ -138,8 +138,6 @@ def ensure_elements(self): 'idinfo/timeperd/current', 'idinfo/status/progress', 'idinfo/status/update', - 'idinfo/keywords/theme/themekey', - 'idinfo/keywords/place/placekey', 'idinfo/keywords/temporal/tempkey', 'idinfo/ptcontac', 'eainfo/detailed/attr/attrdef', @@ -155,13 +153,10 @@ def set_restricted_access(self): return self def add_keywords(self): - keywords = self._get_path('idinfo/keywords') - theme = etree.SubElement(keywords, 'theme') - etree.SubElement(theme, 'themekt') - etree.SubElement(theme, 'themekey') - place = etree.SubElement(keywords, 'place') - etree.SubElement(place, 'placekt') - etree.SubElement(place, 'placekey') + themekey = self._get_path('idinfo/keywords/theme/themekey') + themekey.addprevious(etree.Element('themekt')) + placekey = self._get_path('idinfo/keywords/place/placekey') + placekey.addprevious(etree.Element('placekt')) return self def _get_path(self, path): diff --git a/tests/test_upload.py b/tests/test_upload.py index 5cdfcc1..9f29b4a 100644 --- a/tests/test_upload.py +++ b/tests/test_upload.py @@ -201,7 +201,7 @@ def test_sets_restricted_access(): assert r.doc.find('idinfo/accconst').text == "Restricted Access Online: Access granted to Licensee only. Available only to MIT affiliates." -def test_adds_empty_keyword(): +def test_adds_keyword_thesauri(): r = FGDC(StringIO(""" @@ -216,8 +216,8 @@ def test_adds_empty_keyword(): """)) r.add_keywords() - assert len(r.doc.findall('idinfo/keywords/theme')) == 2 - assert len(r.doc.findall('idinfo/keywords/place')) == 2 + assert len(r.doc.findall('idinfo/keywords/theme/themekt')) == 1 + assert len(r.doc.findall('idinfo/keywords/place/placekt')) == 1 def test_process_ensures_elements_exist(shp):