Quebra de linha entre funções
[cascardo/irpf-gui.git] / src / ocupacoes.py
1 #
2 #   Copyright 2013 Thadeu Lima de Souza Cascardo <cascardo@cascardo.info>
3 #
4 #   This program is free software: you can redistribute it and/or modify
5 #   it under the terms of the GNU General Public License as published by
6 #   the Free Software Foundation, either version 3 of the License, or
7 #   (at your option) any later version.
8 #
9 #   This program is distributed in the hope that it will be useful,
10 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 #   GNU General Public License for more details.
13 #
14 #   You should have received a copy of the GNU General Public License
15 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 # -*- mode: python; encoding: utf-8; -*-
17 import xml.dom.minidom
18
19 class Ocupacoes:
20     def __init__(self):
21         self.xml = xml.dom.minidom.parse("res/ocupacoesPrincipal.xml")
22         self.l = []
23         self.g = {}
24         self._list()
25         self._group()
26
27     def _list(self):
28         for i in self.xml.childNodes[0].childNodes:
29             if "COL4" in i.attributes.keys():
30                 self.l.append((i.attributes["COL1"].nodeValue, \
31                         i.attributes["COL2"].nodeValue, \
32                         i.attributes["COL3"].nodeValue, \
33                         i.attributes["COL4"].nodeValue))
34                 def list(self):
35                     return self.l
36
37     def _group(self):
38         for i in self.l:
39             if i[1] not in self.g:
40                 self.g[i[1]] = []
41             self.g[i[1]].append(i)
42
43     def groups(self):
44         return self.g
45
46     def get_ocupacao(self, code):
47         for i in self.l:
48             if i[0] == code:
49                 return i
50         return None
51
52 if __name__ == '__main__':
53     ocupacoes = Ocupacoes()
54     l = ocupacoes.groups()
55     for i in sorted(l):
56         print l[i][0][1] , l[i][0][2]
57         for j in l[i]:
58             print "\t %s %s" % (j[0], j[3])
59     print
60     print ocupacoes.get_ocupacao('212')[3]
61
62 # vim:tabstop=4:expandtab:smartindent