Simplifica Bens e RendimentoPJ usando Items.
[cascardo/irpf-gui.git] / src / bens.py
index edb57b8..f79652c 100644 (file)
 #   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 # -*- mode: python; encoding: utf-8; -*-
 import xml.dom.minidom
+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
@@ -59,8 +30,8 @@ if __name__ == '__main__':
 
     contribuinte = Contribuinte(sys.argv[1])
     bens = Bens(contribuinte)
-    print "anterior: " + bens.get_bens("totalExercicioAnterior")
-    print "atual: " + bens.get_bens("totalExercicioAtual")
+    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")