X-Git-Url: http://git.cascardo.info/?p=cascardo%2Firpf-gui.git;a=blobdiff_plain;f=src%2Fcontribuinte.py;fp=src%2Fcontribuinte.py;h=8b7fb8eb57105a5452b69e537ee379f05914034d;hp=3d8e847b1bd9b47c1c7970689421a49fb6157422;hb=7c642146323d02f64b02ea93e08576a6fd81c56b;hpb=f2688b9c6d8f0d23e6c3e1e8e952b06837654124 diff --git a/src/contribuinte.py b/src/contribuinte.py index 3d8e847..8b7fb8e 100644 --- a/src/contribuinte.py +++ b/src/contribuinte.py @@ -20,6 +20,7 @@ import dirs import os import form import ocupacoes +import declaracoes class OcupacaoForm(form.OptionsForm): def __init__(self, ocupacoes, contribuinte): @@ -61,20 +62,11 @@ class Contribuinte: irpf_dir.get_userdata_dir()) self.cpf_file = irpf_dir.get_userdata_file("%s/%s.xml" % (self.cpf, self.cpf)) - self.iddecl_file = irpf_dir.get_userdata_file("iddeclaracoes.xml") - self.declaracao = self._find_id() + ncpf = self._normalize_cpf(self.cpf) + self.declaracao = declaracoes.Declaracoes().find("cpf", ncpf) self.dados = xml.dom.minidom.parse(self.cpf_file) self.contribuinte = self.dados.getElementsByTagName("contribuinte")[0] - def _find_id(self): - cpf = self._normalize_cpf(self.cpf) - self.declaracoes = xml.dom.minidom.parse(self.iddecl_file) - for i in self.declaracoes.getElementsByTagName("item"): - if "cpf" in i.attributes.keys(): - if i.attributes["cpf"].nodeValue == cpf: - return i - return None - # CPF normalizado se parece com 000.000.000-00 def _normalize_cpf(self, cpf): ncpf = "" @@ -133,7 +125,7 @@ class Contribuinte: def save(self): self.dados.writexml(open(self.cpf_file, "w")) - self.declaracoes.writexml(open(self.iddecl_file, "w")) + self.declaracao.save() def _get_attr(self, el, attr): if attr in el.attributes.keys(): @@ -144,10 +136,10 @@ class Contribuinte: el.attributes[attr].nodeValue = val def get_declaracao(self, attr): - return self._get_attr(self.declaracao, attr) + return self.declaracao.get_attr(attr) def set_declaracao(self, attr, val): - self._set_attr(self.declaracao, attr, val) + self.declaracao.set_attr(attr, val) def get_nome(self): return self.get_declaracao("nome") @@ -171,53 +163,37 @@ class Contribuinte: ocup = ocupacoes.Ocupacoes() form.append(ContribuinteForm("Nome", "nome", self)) form.append(OcupacaoForm(ocup, self)) - for i in contribuinte_attributes: + for i in self.attributes: form.append(ContribuinteForm(i, i, self)) return form -contribuinte_attributes = [ - "nome", - "dataNascimento", - "tituloEleitor", - "doencaDeficiencia", - "exterior", - "pais", - "cep", - "uf", - "cidade", - "municipio", - "tipoLogradouro", - "logradouro", - "numero", - "complemento", - "bairro", - "bairroExt", - "cepExt", - "logradouroExt", - "numeroExt", - "complementoExt", - "ocupacaoPrincipal", - "codigoExterior", - "ddd", - "telefone", - "naturezaOcupacao", - ] - -declaracao_attributes = [ - "dataUltimoAcesso", - "declaracaoRetificadora", - "enderecoDiferente", - "enderecoMACRede", - "exercicio", - "nome", - "numReciboDecRetif", - "numeroReciboDecAnterior", - "resultadoDeclaracao", - "tipoDeclaracao", - "tipoDeclaracaoAES", - "transmitida", - "versaoBeta" - ] + attributes = [ + "nome", + "dataNascimento", + "tituloEleitor", + "doencaDeficiencia", + "exterior", + "pais", + "cep", + "uf", + "cidade", + "municipio", + "tipoLogradouro", + "logradouro", + "numero", + "complemento", + "bairro", + "bairroExt", + "cepExt", + "logradouroExt", + "numeroExt", + "complementoExt", + "ocupacaoPrincipal", + "codigoExterior", + "ddd", + "telefone", + "naturezaOcupacao", + ] if __name__ == '__main__': import sys @@ -239,13 +215,13 @@ if __name__ == '__main__': print ("Campo " + campo + " retornou vazio") else: print "\nCONTRIBUINTE:" - for i in contribuinte_attributes: + for i in Contribuinte.attributes: val = contribuinte.get_campo_contribuinte(i) if val == None: val = "" print i + ": " + val print "\nDECLARACAO:" - for i in declaracao_attributes: + for i in declaracoes.Declaracoes.attributes: val = contribuinte.get_declaracao(i) if val == None: val = ""