Coding deve estar no inicio do arquivo para ser detectado
[cascardo/irpf-gui.git] / src / bens.py
1 # coding=utf-8
2 #
3 #   Copyright 2013 Thadeu Lima de Souza Cascardo <cascardo@cascardo.info>
4 #
5 #   This program is free software: you can redistribute it and/or modify
6 #   it under the terms of the GNU General Public License as published by
7 #   the Free Software Foundation, either version 3 of the License, or
8 #   (at your option) any later version.
9 #
10 #   This program is distributed in the hope that it will be useful,
11 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #   GNU General Public License for more details.
14 #
15 #   You should have received a copy of the GNU General Public License
16 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 # -*- mode: python; encoding: utf-8; -*-
18 import xml.dom.minidom
19 from contribuinte import Contribuinte
20
21 class Bem:
22     def __init__(self, el):
23         self.bem = el
24
25     def get_attr(self, attr):
26         if attr in self.bem.attributes.keys():
27             return self.bem.attributes[attr].nodeValue
28
29         return None
30
31     def set_attr(self, attr, val):
32         self.bem.attributes[attr].nodeValue = val
33
34 class Bens:
35     def __init__(self, contribuinte):
36         self.contribuinte = contribuinte
37         self.bens = self.contribuinte.dados.getElementsByTagName("bens")[0]
38         self.items = []
39
40         for i in self.bens.getElementsByTagName("item"):
41             self.items.append(Bem(i))
42
43     def _get_attr(self, el, attr):
44         if attr in el.attributes.keys():
45             return el.attributes[attr].nodeValue
46         return None
47
48     def _set_attr(self, el, attr, val):
49         el.attributes[attr].nodeValue = val
50
51     def get_bens(self, attr):
52         return self._get_attr(self.bens, attr)
53
54     def set_bens(self, attr, val):
55         self._set_attr(self.bens, attr, val)
56
57 if __name__ == '__main__':
58     import sys
59
60     contribuinte = Contribuinte(sys.argv[1])
61     bens = Bens(contribuinte)
62     print "anterior: " + bens.get_bens("totalExercicioAnterior")
63     print "atual: " + bens.get_bens("totalExercicioAtual")
64
65     for i in bens.items:
66         print i.get_attr("valorExercicioAtual") + " " + i.get_attr("discriminacao")
67
68 # vim:tabstop=4:expandtab:smartindent