diff --git a/pytrustnfe/xml/__init__.py b/pytrustnfe/xml/__init__.py index 1f721e2..066d567 100644 --- a/pytrustnfe/xml/__init__.py +++ b/pytrustnfe/xml/__init__.py @@ -16,11 +16,20 @@ def recursively_empty(e): return all((recursively_empty(c) for c in e.iterchildren())) -def render_xml(path, template_name, remove_empty, **nfe): - for item in nfe: - if type(nfe[item]) is str: - nfe[item] = nfe[item].strip() +def recursively_normalize(vals): + for item in vals: + if type(vals[item]) is str: + vals[item] = vals[item].strip() + elif type(vals[item]) is dict: + recursively_normalize(vals[item]) + elif type(vals[item]) is list: + for a in vals[item]: + recursively_normalize(a) + return vals + +def render_xml(path, template_name, remove_empty, **nfe): + nfe = recursively_normalize(**nfe) env = Environment( loader=FileSystemLoader(path), extensions=['jinja2.ext.with_'])