From 24b4a6bde5ef56dd51b76812546ad87dbe158bc8 Mon Sep 17 00:00:00 2001 From: Jeferson Alves Date: Wed, 13 Jun 2018 21:04:43 -0300 Subject: [PATCH] =?UTF-8?q?#10=20Encapsulando=20m=C3=A9todos=20em=20classe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../camara_genero/nomes_deputadas_csv.py | 97 ++++++++++--------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/radar_parlamentar/importadores/camara_genero/nomes_deputadas_csv.py b/radar_parlamentar/importadores/camara_genero/nomes_deputadas_csv.py index ee877a14..5338fc0a 100644 --- a/radar_parlamentar/importadores/camara_genero/nomes_deputadas_csv.py +++ b/radar_parlamentar/importadores/camara_genero/nomes_deputadas_csv.py @@ -17,58 +17,59 @@ 'feminino': 'F' } -def main(): - arquivos = listdir(DIRETORIO) - saida = open(ARQUIVO_SAIDA, "w") - numero_deputadas = 0 +class NomesDeputadas: + def __init__(self): + self.numero_deputadas = 0 - for arquivo in arquivos: - ponteiro = open(DIRETORIO+"/"+ arquivo) - data = ponteiro.read() - dom = parseString(data) - records = dom.getElementsByTagName(TAGS['data']) - copiar_dados_deputados(records) + def main(self): + arquivos = listdir(DIRETORIO) + saida = open(ARQUIVO_SAIDA, "w") + for arquivo in arquivos: + ponteiro = open(DIRETORIO+"/"+ arquivo) + data = ponteiro.read() + dom = parseString(data) + records = dom.getElementsByTagName(TAGS['data']) + self.copiar_dados_deputados(records) + print(self.numero_deputadas) -def copiar_dados_deputados(): - for record in records: - informacoes = obter_informacoes_deputado(record) - #conta nĂºmero de deputadas - if informacoes['genero'] == GENERO['feminino']: - numero_deputadas += 1 - escrever_saida(informacoes['nome'], informacoes['genero'], informacoes['legis']) - print(numero_deputadas) + def copiar_dados_deputados(self): + for record in records: + informacoes = self.obter_informacoes_deputado(record) + self.escrever_saida(informacoes['nome'], informacoes['genero'], informacoes['legis']) -def obter_informacoes_deputado(records): - deputado = record.getElementsByTagName(TAGS['mandato'])[0].firstChild.data - genero = obter_genero(deputado) - nome = record.getElementsByTagName(TAGS['nome_txt'])[0].firstChild.data - legis = record.getElementsByTagName(TAGS['mandato'])[0].firstChild.data - legis = legis.split(";") + def obter_informacoes_deputado(self, records): + deputado = record.getElementsByTagName(TAGS['mandato'])[0].firstChild.data + genero = self.obter_genero(deputado) + nome = record.getElementsByTagName(TAGS['nome_txt'])[0].firstChild.data + legis = record.getElementsByTagName(TAGS['mandato'])[0].firstChild.data + legis = legis.split(";") - informacoes = {'nome': nome, 'genero': genero, 'legis': legis} - return informacoes + informacoes = {'nome': nome, 'genero': genero, 'legis': legis} + return informacoes -def escrever_saida(nome, genero, legis): - for leg in legis: - saida_legis = "" - dados = leg.split(",") - ano = dados[1] - saida_legis += "%s/" % ano - try: - estado = dados[2] - saida_legis += "%s/" % estado - partido = dados[3].partition(".")[0] - saida_legis += "%s/" % partido - saida_legis += " , " - except: - print(dados) - saida_legis += " , " - saida.write('%s|%s|%s\n' % (nome, genero, saida_legis)) + def escrever_saida(nome, genero, legis): + for leg in legis: + saida_legis = "" + dados = leg.split(",") + ano = dados[1] + saida_legis += "%s/" % ano + try: + estado = dados[2] + saida_legis += "%s/" % estado + partido = dados[3].partition(".")[0] + saida_legis += "%s/" % partido + saida_legis += " , " + except: + print(dados) + saida_legis += " , " + saida.write('%s|%s|%s\n' % (nome, genero, saida_legis)) -def obter_genero(deputado): - if deputado.find("Deputada") != -1: - genero = GENERO['feminino'] - else: - genero = GENERO['masculino'] + def obter_genero(deputado): + if deputado.find("Deputada") != -1: + genero = GENERO['feminino'] + self.numero_deputadas += 1 + else: + genero = GENERO['masculino'] -main() +nome_deputadas = NomesDeputadas() +nome_deputadas.main()