Obtém elementos pelo nome da tag.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Tue, 16 Jul 2013 11:55:08 +0000 (08:55 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.info>
Tue, 16 Jul 2013 11:57:28 +0000 (08:57 -0300)
Ao invés de assumir que os nós são apenas elementos, e não podem ser
texto, busca por elementos com a tag. O teste do contribuinte passa a
funcionar após esse patch.

src/contribuinte.py
src/municipios.py
src/ocupacoes.py

index a9e055b..f477d0a 100644 (file)
@@ -44,7 +44,7 @@ class Contribuinte:
     def _find_id(self):
         cpf = self._normalize_cpf(self.cpf)
         self.declaracoes = xml.dom.minidom.parse(self.iddecl_file)
-        for i in self.declaracoes.childNodes[0].childNodes:
+        for i in self.declaracoes.getElementsByTagName("item"):
             if "cpf" in i.attributes.keys():
                 if i.attributes["cpf"].nodeValue == cpf:
                     return i
index 733b8fe..c9cd47a 100644 (file)
@@ -23,7 +23,7 @@ class Municipios:
         self.l = []
 
     def _list(self):
-        for i in self.xml.childNodes[0].childNodes:
+        for i in self.xml.getElementsByTagName("ITEM"):
             if "COL3" in i.attributes.keys():
                 self.l.append((i.attributes["COL1"].nodeValue, \
                         i.attributes["COL2"].nodeValue, \
index 87b9f32..755d070 100644 (file)
@@ -28,7 +28,7 @@ class Ocupacoes:
         self._group()
 
     def _list(self):
-        for i in self.xml.childNodes[0].childNodes:
+        for i in self.xml.getElementsByTagName("ITEM"):
             if "COL4" in i.attributes.keys():
                 self.l.append((i.attributes["COL1"].nodeValue, \
                         i.attributes["COL2"].nodeValue, \