Example #1
0
def com_votacao(proposicoes): 
  votadas = []
  for prop in proposicoes:
    vot = camaraws.obter_votacao(prop['id'], prop['tipo'], prop['num'], prop['ano']) 
    if vot != None:
      votadas.append(prop)
  return votadas
def com_votacao(proposicoes): 
    """Verifica quais proposições possuem votações no web service da câmara
    É somente sobre essas proposições que faremos nossas análises
    Essa verificação é feita invocando o web service da câmara 
    Argumentos:
    proposicoes -- lista de proposições; cada proposição é um dicionário com chaves \in {id, tipo, num, ano}; chaves e valores são strings

    Retorna:
    Lista com proposições que apresentam lista de votações
    Cada proposição é um dicionário com chaves \in {id, tipo, num, ano}; chaves e valores são strings     
    """
    votadas = []
    for prop in proposicoes:
        print "requisitando " + prop['id']
        vot = camaraws.obter_votacao(prop['tipo'], prop['num'], prop['ano']) 
        if vot != None:
            votadas.append(prop)
    return votadas
Example #3
0
def cria_bd_camara_deputados(arquivo_ids=IDS_VOTADAS):
    """Cria o banco de dados da câmara dos deputados em 'resultados/camara.db'
        Argumentos:
        arquivo_ids -- arquivo com a listagem de "id: tipo num/ano" (uma entrada por linha, suportando comentários com #)
                        a função utilizará esses ids para realizar chamadas ao web service da câmara e obter as votações
                        o valor defualt é o arquivo IDS_VOTADAS; 
                        outro arquivo útil é o IDS_QUE_EXISTEM (que pode ser criado com o módulo ids_que_existem)
    """

    props = []
    lista_proposicoes = ids_que_existem.parse_txt(arquivo_ids)
    for iprop in lista_proposicoes:
        print "AVALIANDO %s %s %s" % (iprop["tipo"], iprop["num"], iprop["ano"])
        p = camaraws.obter_votacao(
            iprop["tipo"], iprop["num"], iprop["ano"]
        )  # Obtém proposição e suas votações do web service
        if p != None:
            props.append(p)

    print "Agora sim gerando o banco"
    gerador = GeradorBD(props, "resultados/camara.db")
    gerador.gera_bd()
Example #4
0
def cria_bd_camara_deputados(arquivo_ids=IDS_VOTADAS):
    """Cria o banco de dados da câmara dos deputados em 'resultados/camara.db'
        Argumentos:
        arquivo_ids -- arquivo com a listagem de "id: tipo num/ano" (uma entrada por linha, suportando comentários com #)
                        a função utilizará esses ids para realizar chamadas ao web service da câmara e obter as votações
                        o valor defualt é o arquivo IDS_VOTADAS; 
                        outro arquivo útil é o IDS_QUE_EXISTEM (que pode ser criado com o módulo ids_que_existem)
    """

    props = []
    lista_proposicoes = ids_que_existem.parse_txt(arquivo_ids)
    for iprop in lista_proposicoes:
        print 'AVALIANDO %s %s %s' % (iprop['tipo'], iprop['num'],
                                      iprop['ano'])
        p = camaraws.obter_votacao(
            iprop['tipo'], iprop['num'],
            iprop['ano'])  # Obtém proposição e suas votações do web service
        if p != None:
            props.append(p)

    print 'Agora sim gerando o banco'
    gerador = GeradorBD(props, 'resultados/camara.db')
    gerador.gera_bd()
def cria_bd_camara_deputados(arquivo_ids=IDS_VOTADAS):
    """Creates the Chamber od Deputies's database on 'resultados/camara.db'
        Arguments:
        arquivo_ids -- > File with the list of "id: tipo num/ano" (one entry per line, supporting comments with #).
                       > The function will use these ids to make calls to the web service and get the camera polls.
                       > The default value is the IDS_VOTADAS file.
                       > Another useful file is IDS_QUE_EXISTEM (which can be created with ids_que_existem module).
    """

    props = []
    lista_proposicoes = ids_que_existem.parse_txt(arquivo_ids)
    for iprop in lista_proposicoes:
        print 'AVALIANDO %s %s %s' % (iprop['tipo'],iprop['num'],iprop['ano'])

	# Proposition and get their votes from the web service:
        p = camaraws.obter_votacao(iprop['tipo'], iprop['num'],iprop['ano']) 
        
	if p != None:
            props.append(p)

    print 'Agora sim gerando o banco'
    gerador = GeradorBD(props, 'resultados/camara.db')
    gerador.gera_bd()
Example #6
0
import proposicoes
import camaraws
import partidos
import sys

party1 = sys.argv[1]
party2 = sys.argv[2]

# Identification of propositions voted on in 2011
voted = proposicoes.parse()

# List of propositions with their respective votes 
proposicoes = []

# Total analyzed votes
votes_number = 0


for propositions in voted:
  print('Analisando proposição ' + propositions['id'])

  # Get voting web service
  votes_propositions = camaraws.obter_votacao(propositions['tipo'], propositions['num'], propositions['ano'])
  votes_number += len(votes_propositions.votacoes)
  proposicoes.append(votes_propositions)

similarity = partidos.semelhanca(party1, party2, proposicoes)

print('Semelhança entre %s e %s = %.2f%s, baseado em %s votações de 2011' % (party1, party2, similarity*100, '%', votes_number))

Example #7
0
# -*- coding: utf-8 -*-
#
# Pequeno script que baixa as PECs de 2011
# Mostra votos agregados por partido
import camaraws

pecs = []

# PEC da música (isenção fiscal para músicas e artistas brasileiros)
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=357094
# (a primeira vista me parece absurdo que algo assim deva estar na constituição)
prop_id = '357094'
tipo = 'pec'
num = '98'
ano = '2007'
pecs.append(camaraws.obter_votacao(prop_id, tipo, num, ano))
# prorroga a vigência da DRU até 31 de dezembro de 2015
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=513496
prop_id = '513496'
tipo = 'pec'
num = '61'
ano = '2011'
pecs.append(camaraws.obter_votacao(prop_id, tipo, num, ano))

for prop in pecs:
  print(prop)
  for votacao in prop.votacoes:
    print('************')
    print(votacao)
    dic = votacao.por_partido()
    for partido, voto in dic.items():
Example #8
0
#!/usr/bin/python3.2
# -*- coding: utf-8 -*-
#
# Verifica a diferença entre dois partidos baseado nas proposições votadas em 2011

import proposicoes
import camaraws
import partidos
import sys

partido1 = sys.argv[1]
partido2 = sys.argv[2]

votadas = proposicoes.parse() # identificação das proposições votadas em 2011
proposicoes = [] # listagem das proposições com suas respectivas votações
n_vot = 0 # total de votações analisadas
for prop in votadas:
  print('Analisando proposição ' + prop['id'])
  prop_vot = camaraws.obter_votacao(prop['id'], prop['tipo'], prop['num'], prop['ano']) # obtêm votação do web service
  n_vot += len(prop_vot.votacoes)
  proposicoes.append(prop_vot)

sem = partidos.semelhanca(partido1, partido2, proposicoes)

print('Semelhança entre %s e %s = %.2f%s, baseado em %s votações de 2011' % (partido1, partido2, sem*100, '%', n_vot))

Example #9
0
import camaraws
import partidos
import sys

party1 = sys.argv[1]
party2 = sys.argv[2]

# Identification of propositions voted on in 2011
voted = proposicoes.parse()

# List of propositions with their respective votes
proposicoes = []

# Total analyzed votes
votes_number = 0

for propositions in voted:
    print('Analisando proposição ' + propositions['id'])

    # Get voting web service
    votes_propositions = camaraws.obter_votacao(propositions['tipo'],
                                                propositions['num'],
                                                propositions['ano'])
    votes_number += len(votes_propositions.votacoes)
    proposicoes.append(votes_propositions)

similarity = partidos.semelhanca(party1, party2, proposicoes)

print('Semelhança entre %s e %s = %.2f%s, baseado em %s votações de 2011' %
      (party1, party2, similarity * 100, '%', votes_number))
Example #10
0
import partidos
import sys
from partidos import PARTIDOS

length = len(PARTIDOS)

# PRTB, PRP, PMN, PSL, PHS deram problema, pois não aparecem em algumas votações
# TODO: o que fazer nesses casos?
length = len(PARTIDOS)

# recuperação das proposições
votadas = proposicoes.parse()  # identificação das proposições votadas em 2011
proposicoes = []  # listagem das proposições com suas respectivas votações
n_vot = 0  # total de votações analisadas
for prop in votadas:
    print('Analisando proposição ' + prop['id'])
    prop_vot = camaraws.obter_votacao(
        prop['tipo'], prop['num'], prop['ano'])  # obtêm votação do web service
    n_vot += len(prop_vot.votacoes)
    proposicoes.append(prop_vot)

# análise das semelhanças
print(
    'Análise baseada em %d votações de %d proposições, votadas na camâra em 2011'
    % (n_vot, len(votadas)))
for i in range(0, length):
    for j in range(i + 1, length):
        sem = partidos.semelhanca(PARTIDOS[i], PARTIDOS[j], proposicoes)
        print('Semelhança entre %s e %s = %.2f%s' %
              (PARTIDOS[i], PARTIDOS[j], sem * 100, '%'))
Example #11
0
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""Script pecs
Download the PECs 2011
Shows aggregate votes by party"""

from __future__ import unicode_literals
import camaraws

pecs = []

# PEC music (tax exemption for music and Brazilian artists)
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=357094
type = 'pec'
number = '98'
year = '2007'
pecs.append(camaraws.obter_votacao(type, number, year))

# Extending the validity of DRU until December 31, 2015
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=513496
type = 'pec'
number = '61'
year = '2011'
pecs.append(camaraws.obter_votacao(type, number, year))

# Print propositions
for propositions in pecs:
    print(propositions)

    for voting in propositions.votacoes:
        print('************')
        print(voting)
Example #12
0
"""Script pecs
Download the PECs 2011
Shows aggregate votes by party"""

from __future__ import unicode_literals
import camaraws

pecs = []

# PEC music (tax exemption for music and Brazilian artists)
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=357094
type = 'pec'
number = '98'
year = '2007'
pecs.append(camaraws.obter_votacao(type, number, year))

# Extending the validity of DRU until December 31, 2015
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=513496
type = 'pec'
number = '61'
year = '2011'
pecs.append(camaraws.obter_votacao(type, number, year))

# Print propositions
for propositions in pecs:
  print(propositions)

  for voting in propositions.votacoes:
    print('************')
    print(voting)
Example #13
0
    "PSC",
    "PTB",
    "PDT",
    "PSB",
    "PSB",
    "PPS",
    "PRB",
]
# PRTB, PRP, PMN, PSL, PHS deram problema, pois não aparecem em algumas votações
# TODO: o que fazer nesses casos?
length = len(PARTIDOS)

# recuperação das proposições
votadas = proposicoes.parse()  # identificação das proposições votadas em 2011
proposicoes = []  # listagem das proposições com suas respectivas votações
n_vot = 0  # total de votações analisadas
for prop in votadas:
    print("Analisando proposição " + prop["id"])
    prop_vot = camaraws.obter_votacao(
        prop["id"], prop["tipo"], prop["num"], prop["ano"]
    )  # obtêm votação do web service
    n_vot += len(prop_vot.votacoes)
    proposicoes.append(prop_vot)

# análise das semelhanças
print("Análise baseada em %d votações de %d proposições, votadas na camâra em 2011" % (n_vot, len(votadas)))
for i in range(0, length):
    for j in range(i + 1, length):
        sem = partidos.semelhanca(PARTIDOS[i], PARTIDOS[j], proposicoes)
        print("Semelhança entre %s e %s = %.2f%s" % (PARTIDOS[i], PARTIDOS[j], sem * 100, "%"))
Example #14
0
"""Script florestal 
Download voting forest code
Shows aggregate votes by party
If you flag -uf shows votes by UF"""

from __future__ import unicode_literals
import camaraws
import sys

# Forest Code
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=17338
type = 'pl'
number = '1876'
year = '1999'
proposition = camaraws.obter_votacao(type, number, year)

txt = str(proposition)
print type(txt)

# Print propositions
for votations in proposition.votacoes:
  print('************')
  print(votations)

  if (len(sys.argv)>1 and sys.argv[1] == '-uf'):
    dic = votations.por_uf()
  else:
    dic = votations.by_party()

  for key, vote in dic.items():
Example #15
0
Baixa as PECs de 2011
Mostra votos agregados por partido
"""

from __future__ import unicode_literals
import camaraws

pecs = []

# PEC da música (isenção fiscal para músicas e artistas brasileiros)
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=357094
# (a primeira vista me parece absurdo que algo assim deva estar na constituição)
tipo = 'pec'
num = '98'
ano = '2007'
pecs.append(camaraws.obter_votacao(tipo, num, ano))
# prorroga a vigência da DRU até 31 de dezembro de 2015
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=513496
tipo = 'pec'
num = '61'
ano = '2011'
pecs.append(camaraws.obter_votacao(tipo, num, ano))

for prop in pecs:
  print(prop)
  for votacao in prop.votacoes:
    print('************')
    print(votacao)
    dic = votacao.por_partido()
    for partido, voto in dic.items():
      print("%s: \t Sim: %s \t Não: %s \t Abstenções: %s" % (partido, voto.sim, voto.nao, voto.abstencao))
Example #16
0
#!/usr/bin/python3.2
# -*- coding: utf-8 -*-
#
# Pequeno script que baixa a votação do código florestal
# Mostra votos agregados por partido
# Se tiver flag -uf, mostra votos por UF
import camaraws
import sys

# código florestal
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=17338
prop_id = '17338'
tipo = 'pl'
num = '1876'
ano = '1999'
prop = camaraws.obter_votacao(prop_id, tipo, num, ano) 

print(prop)
for votacao in prop.votacoes:
  print('************')
  print(votacao)
  if (len(sys.argv)>1 and sys.argv[1] == '-uf'):
    dic = votacao.por_uf()
  else:
    dic = votacao.por_partido()
  for key, voto in dic.items():
    print("%s: \t Sim: %s \t Não: %s \t Abstenções: %s" % (key, voto.sim, voto.nao, voto.abstencao))

Example #17
0
"""Script florestal 
Baixa a votação do código florestal
Mostra votos agregados por partido
Se tiver flag -uf, mostra votos por UF
"""

from __future__ import unicode_literals
import camaraws
import sys

# código florestal
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=17338
tipo = 'pl'
num = '1876'
ano = '1999'
prop = camaraws.obter_votacao(tipo, num, ano)

txt = str(prop)
print type(txt)
#print prop
for votacao in prop.votacoes:
    print('************')
    print(votacao)
    if (len(sys.argv) > 1 and sys.argv[1] == '-uf'):
        dic = votacao.por_uf()
    else:
        dic = votacao.por_partido()
    for key, voto in dic.items():
        sim = voto.sim
        nao = voto.nao
        abst = voto.abstencao
Example #18
0
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""Script florestal 
Download voting forest code
Shows aggregate votes by party
If you flag -uf shows votes by UF"""

from __future__ import unicode_literals
import camaraws
import sys

# Forest Code
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=17338
type = 'pl'
number = '1876'
year = '1999'
proposition = camaraws.obter_votacao(type, number, year)

txt = str(proposition)
print type(txt)

# Print propositions
for votations in proposition.votacoes:
    print('************')
    print(votations)

    if (len(sys.argv) > 1 and sys.argv[1] == '-uf'):
        dic = votations.por_uf()
    else:
        dic = votations.by_party()

    for key, vote in dic.items():
Example #19
0
"""Script florestal 
Baixa a votação do código florestal
Mostra votos agregados por partido
Se tiver flag -uf, mostra votos por UF
"""

from __future__ import unicode_literals
import camaraws
import sys

# código florestal
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=17338
tipo = 'pl'
num = '1876'
ano = '1999'
prop = camaraws.obter_votacao(tipo, num, ano) 

txt = str(prop)
print type(txt)
#print prop
for votacao in prop.votacoes:
  print('************')
  print(votacao)
  if (len(sys.argv)>1 and sys.argv[1] == '-uf'):
    dic = votacao.por_uf()
  else:
    dic = votacao.por_partido()
  for key, voto in dic.items():
    sim = voto.sim
    nao = voto.nao
    abst = voto.abstencao
Example #20
0
Baixa as PECs de 2011
Mostra votos agregados por partido
"""

from __future__ import unicode_literals
import camaraws

pecs = []

# PEC da música (isenção fiscal para músicas e artistas brasileiros)
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=357094
# (a primeira vista me parece absurdo que algo assim deva estar na constituição)
tipo = 'pec'
num = '98'
ano = '2007'
pecs.append(camaraws.obter_votacao(tipo, num, ano))
# prorroga a vigência da DRU até 31 de dezembro de 2015
# http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao=513496
tipo = 'pec'
num = '61'
ano = '2011'
pecs.append(camaraws.obter_votacao(tipo, num, ano))

for prop in pecs:
    print(prop)
    for votacao in prop.votacoes:
        print('************')
        print(votacao)
        dic = votacao.por_partido()
        for partido, voto in dic.items():
            print("%s: \t Sim: %s \t Não: %s \t Abstenções: %s" %