# 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
+from form import AttrForm
-class RendimentoPJ:
- def __init__(self, el = None):
- if el == None:
- self.rendimento = xml.dom.minidom.Element("item")
- else:
- self.rendimento = el
-
- def get_attr(self, attr):
- if attr in self.rendimento.attributes.keys():
- return self.rendimento.attributes[attr].nodeValue
- return None
-
- def set_attr(self, attr, val):
- self.rendimento.setAttribute(attr, val)
-
-class RendimentosPJ:
+class RendimentosPJ(items.Items):
def __init__(self, contribuinte):
- self.contribuinte = contribuinte
- self.rend_PJ = self.contribuinte.dados.getElementsByTagName("rendPJ")[0]
- self.colecao = self.rend_PJ.getElementsByTagName("colecaoRendPJTitular")[0]
- self.items = []
-
- for i in self.colecao.getElementsByTagName("item"):
- self.items.append(RendimentoPJ(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_colecao(self, attr):
- return self._get_attr(self.colecao, attr)
-
- def set_colecao(self, attr, val):
- self._set_attr(self.colecao, attr, val)
-
- def add_item(self, item):
- self.items.append(item)
- self.colecao.appendChild(item.rendimento)
-
- def new_item(self):
- item = RendimentoPJ()
- self.add_item(item)
- return item
-
- def remove_item(self, i):
- self.items.pop(i)
- els = self.colecao.getElementsByTagName("item")
- self.colecao.removeChild(els[i])
+ rend_PJ = contribuinte.dados.getElementsByTagName("rendPJ")[0]
+ colecao = rend_PJ.getElementsByTagName("colecaoRendPJTitular")[0]
+ items.Items.__init__(self, colecao)
+ def form(self, item):
+ form = []
+ form.append(AttrForm("Nome", "nomeFontePagadora", item))
+ form.append(AttrForm("CNPJ", "NIFontePagadora", item))
+ form.append(AttrForm("Rendimentos", "rendRecebidoPJ", item))
+ form.append(AttrForm(u"Previdência", "contribuicaoPrevOficial", item))
+ form.append(AttrForm("Imposto Retido", "impostoRetidoFonte", item))
+ form.append(AttrForm(u"Décimo Terceiro", "decimoTerceiro", item))
+ return form
if __name__ == '__main__':
import sys
+ from contribuinte import Contribuinte
contribuinte = Contribuinte(sys.argv[1])
rendimentos = RendimentosPJ(contribuinte)
- print "maior fonte pagadora: " + rendimentos.get_colecao("niMaiorFontePagadora")
- print "total rendimentos: " + rendimentos.get_colecao("totaisRendRecebidoPJ")
+ print "maior fonte pagadora: " + rendimentos.get_attr("niMaiorFontePagadora")
+ print "total rendimentos: " + rendimentos.get_attr("totaisRendRecebidoPJ")
for i in rendimentos.items:
print i.get_attr("nomeFontePagadora") + " " + i.get_attr("rendRecebidoPJ")