1
0
mirror of synced 2024-11-25 18:54:22 +01:00

Minor simplification in how we're handling xml for office files

This commit is contained in:
jvoisin 2018-07-19 22:52:40 +02:00
parent 052a356750
commit 565cb66d14

View File

@ -22,17 +22,11 @@ assert Pattern
logging.basicConfig(level=logging.ERROR) logging.basicConfig(level=logging.ERROR)
def _parse_xml(full_path: str): def _parse_xml(full_path: str):
""" This function parse XML with namespace support. """ """ This function parse XML, with namespace support. """
def parse_map(f): # etree support for ns is a bit rough
namespace_map = dict() namespace_map = dict()
for _, (key, value) in ET.iterparse(f, ("start-ns", )): for _, (key, value) in ET.iterparse(full_path, ("start-ns", )):
namespace_map[key] = value namespace_map[key] = value
return namespace_map
namespace_map = parse_map(full_path)
# Register the namespaces
for key, value in namespace_map.items():
ET.register_namespace(key, value) ET.register_namespace(key, value)
return ET.parse(full_path), namespace_map return ET.parse(full_path), namespace_map