Coding deve estar no inicio do arquivo para ser detectado
[cascardo/irpf-gui.git] / src / contribuinte.py
index ad3b183..80c17c0 100644 (file)
@@ -1,3 +1,4 @@
+# coding=utf-8
 #
 #   Copyright 2013 Thadeu Lima de Souza Cascardo <cascardo@cascardo.info>
 #
 # -*- mode: python; encoding: utf-8; -*-
 import xml.dom.minidom
 import dirs
+import os
 
 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)
+
+        if not os.path.exists(irpf_dir.get_resource_dir()):
+            raise RuntimeError("O caminho para o resource não existe: " + \
+                    irpf_dir.get_resource_dir())
+
+        if not os.path.exists(irpf_dir.get_userdata_dir()):
+            raise RuntimeError("O caminho para os dados não existe: " + \
+                    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()