diff --git a/pytrustnfe/nfe/__init__.py b/pytrustnfe/nfe/__init__.py index 0f1757e6..4b8c0e5c 100644 --- a/pytrustnfe/nfe/__init__.py +++ b/pytrustnfe/nfe/__init__.py @@ -55,11 +55,15 @@ def _add_required_node(elemTree): prods = elemTree.findall('ns:NFe/ns:infNFe/ns:det/ns:prod', namespaces=ns) for prod in prods: - cEan = etree.Element('cEAN') - cEANTrib = etree.Element('cEANTrib') - prod.insert(1, cEan) - vProd = prod.find('ns:vProd', namespaces=ns) - prod.insert(prod.index(vProd) + 1, cEANTrib) + element = prod.find('ns:cEAN', namespaces=ns) + if element is None: + cEan = etree.Element('cEAN') + prod.insert(1, cEan) + element = prod.find('ns:cEANTrib', namespaces=ns) + if element is None: + cEANTrib = etree.Element('cEANTrib') + vProd = prod.find('ns:vProd', namespaces=ns) + prod.insert(prod.index(vProd) + 1, cEANTrib) return elemTree diff --git a/pytrustnfe/nfe/assinatura.py b/pytrustnfe/nfe/assinatura.py index 7104e9be..d4ef99cd 100644 --- a/pytrustnfe/nfe/assinatura.py +++ b/pytrustnfe/nfe/assinatura.py @@ -36,7 +36,8 @@ def assina_xml(self, xml_element, reference): element_signed = signed_root.find(".//*[@Id='%s']" % reference) signature = signed_root.find( ".//{http://www.w3.org/2000/09/xmldsig#}Signature") - if element_signed and signature: + + if element_signed is not None and signature is not None: parent = element_signed.getparent() parent.append(signature) return etree.tostring(signed_root) diff --git a/setup.py b/setup.py index 96f3de8b..43dcbf52 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ # coding=utf-8 from setuptools import setup, find_packages -VERSION = "0.1.18" +VERSION = "0.1.19" setup( name="PyTrustNFe",