Simplifica Bens e RendimentoPJ usando Items.
[cascardo/irpf-gui.git] / src / bens.py
index a098e79..f79652c 100644 (file)
@@ -1,3 +1,4 @@
+# coding=utf-8
 #
 #   Copyright 2013 Thadeu Lima de Souza Cascardo <cascardo@cascardo.info>
 #
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 # -*- mode: python; encoding: utf-8; -*-
 import xml.dom.minidom
-from contribuinte import Contribuinte
+import items
 
-class Bem:
-    def __init__(self, el):
-        self.bem = el
-        def get_attr(self, attr):
-            if attr in self.bem.attributes.keys():
-                return self.bem.attributes[attr].nodeValue
-            return None
-        def set_attr(self, attr, val):
-            self.bem.attributes[attr].nodeValue = val
-
-class Bens:
+class Bens(items.Items):
     def __init__(self, contribuinte):
-        self.contribuinte = contribuinte
-                self.bens = self.contribuinte.dados.getElementsByTagName("bens")[0]
-                self.items = []
-                for i in self.bens.getElementsByTagName("item"):
-                    self.items.append(Bem(i))
-
-    def _get_attr(self, el, attr):
-        if attr in el.attributes.keys():
-            return el.attributes[attr].nodeValue
-        return None
-
-    def _set_attr(self, el, attr, val):
-        el.attributes[attr].nodeValue = val
-
-    def get_bens(self, attr):
-        return self._get_attr(self.bens, attr)
-
-    def set_bens(self, attr, val):
-        self._set_attr(self.bens, attr, val)
+        contribuinte = contribuinte
+        bens = contribuinte.dados.getElementsByTagName("bens")[0]
+        items.Items.__init__(self, bens)
 
 if __name__ == '__main__':
     import sys
-        contribuinte = Contribuinte(sys.argv[1])
-        bens = Bens(contribuinte)
-        print "anterior: " + bens.get_bens("totalExercicioAnterior")
-        print "atual: " + bens.get_bens("totalExercicioAtual")
-        for i in bens.items:
-            print i.get_attr("valorExercicioAtual") + " " + i.get_attr("discriminacao")
+    from contribuinte import Contribuinte
+
+    contribuinte = Contribuinte(sys.argv[1])
+    bens = Bens(contribuinte)
+    print "anterior: " + bens.get_attr("totalExercicioAnterior")
+    print "atual: " + bens.get_attr("totalExercicioAtual")
+
+    for i in bens.items:
+        print i.get_attr("valorExercicioAtual") + " " + i.get_attr("discriminacao")
 
 # vim:tabstop=4:expandtab:smartindent