# along with this program. If not, see <http://www.gnu.org/licenses/>.
# -*- mode: python; encoding: utf-8; -*-
import xml.dom.minidom
+import dirs
class Contribuinte:
def __init__(self, cpf):
+ irpf_dir = dirs.get_default_irpf_dir()
self.cpf = self._minimize_cpf(cpf)
if not self._validate_cpf(self.cpf):
raise RuntimeError("Invalid CPF: " + self.cpf)
+ 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()
- self.dados = xml.dom.minidom.parse("aplicacao/dados/%s/%s.xml" % (self.cpf, self.cpf))
+ 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("aplicacao/dados/iddeclaracoes.xml")
+ self.declaracoes = xml.dom.minidom.parse(self.iddecl_file)
for i in self.declaracoes.childNodes[0].childNodes:
if "cpf" in i.attributes.keys():
if i.attributes["cpf"].nodeValue == cpf:
return True
def save(self):
- self.dados.writexml(open("aplicacao/dados/%s/%s.xml" % (self.cpf, self.cpf), "w"))
- self.declaracoes.writexml(open("aplicacao/dados/iddeclaracoes.xml", "w"))
+ self.dados.writexml(open(self.cpf_file, "w"))
+ self.declaracoes.writexml(open(self.iddecl_file, "w"))
def _get_attr(self, el, attr):
if attr in el.attributes.keys():
return el.attributes[attr].nodeValue