Пример #1
0
    def test_semelhanca_partidos(self):
        '''Testa a função de semelhança para partidos'''

        partido1 = 'girondinos'
        partido2 = 'jacobinos'
        votacoes = []

        # votações do test
        # v1: p1(3,0,0) p2(0,3,0)
        # v2: p1(0,2,1) p2(2,0,1)
        # v3: p1(3,0,0) p2(0,2,1)

        dep1Sim = Deputado()
        dep1Sim.partido = partido1
        dep1Sim.voto = model.SIM
        dep1Nao = Deputado()
        dep1Nao.partido = partido1
        dep1Nao.voto = model.NAO
        dep1Abs = Deputado()
        dep1Abs.partido = partido1
        dep1Abs.voto = model.ABSTENCAO
        dep2Sim = Deputado()
        dep2Sim.partido = partido2
        dep2Sim.voto = model.SIM
        dep2Nao = Deputado()
        dep2Nao.partido = partido2
        dep2Nao.voto = model.NAO
        dep2Abs = Deputado()
        dep2Abs.partido = partido2
        dep2Abs.voto = model.ABSTENCAO

        # votação 1
        vot = Votacao()
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        votacoes.append(vot)

        # votação 2
        vot = Votacao()
        vot.deputados.append(dep1Nao)
        vot.deputados.append(dep1Nao)
        vot.deputados.append(dep1Abs)
        vot.deputados.append(dep2Sim)
        vot.deputados.append(dep2Sim)
        vot.deputados.append(dep2Abs)
        votacoes.append(vot)

        # votação 3
        vot = Votacao()
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep1Sim)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Nao)
        vot.deputados.append(dep2Abs)
        votacoes.append(vot)

        proposicao = Proposicao()
        proposicao.votacoes = votacoes

        proposicoes = [proposicao]

        # invocando a função testada
        s = partidos.semelhanca(partido1, partido2, proposicoes)

        # testando se tá certo
        expected = 0.008766487  # calculado na mão
        self.assertAlmostEqual(expected, s, 5)
Пример #2
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))

Пример #3
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))

Пример #4
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))
Пример #5
0
length = len(PARTIDOS)

# recovery propositions

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

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

# total analyzed votes
n_vot = 0
for propositions in voted:
    print('Analisando proposição ' + propositions['id'])

    # get voting web service
    prop_vot = camaraws.obter_votacao(propositions['tipo'],
                                      propositions['num'], propositions['ano'])
    n_vot += len(prop_vot.votacoes)
    proposicoes.append(prop_vot)

# analysis of the similarity
print(
    'Análise baseada em %d votações de %d proposições, votadas na camâra em 2011'
    % (n_vot, len(voted)))
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, '%'))
Пример #6
0
  def test_semelhanca_partidos(self):
    '''Testa a função de semelhança para partidos'''

    partido1 = 'girondinos'
    partido2 = 'jacobinos'
    votacoes = []

    # votações do test
    # v1: p1(3,0,0) p2(0,3,0)
    # v2: p1(0,2,1) p2(2,0,1)
    # v3: p1(3,0,0) p2(0,2,1)

    dep1Sim = Deputado()
    dep1Sim.partido = partido1
    dep1Sim.voto = model.SIM 
    dep1Nao = Deputado()
    dep1Nao.partido = partido1
    dep1Nao.voto = model.NAO
    dep1Abs = Deputado()
    dep1Abs.partido = partido1
    dep1Abs.voto = model.ABSTENCAO 
    dep2Sim = Deputado()
    dep2Sim.partido = partido2
    dep2Sim.voto = model.SIM 
    dep2Nao = Deputado()
    dep2Nao.partido = partido2
    dep2Nao.voto = model.NAO
    dep2Abs = Deputado()
    dep2Abs.partido = partido2
    dep2Abs.voto = model.ABSTENCAO 

    # votação 1
    vot = Votacao()
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    votacoes.append(vot)

    # votação 2
    vot = Votacao()
    vot.deputados.append(dep1Nao)
    vot.deputados.append(dep1Nao)
    vot.deputados.append(dep1Abs)
    vot.deputados.append(dep2Sim)
    vot.deputados.append(dep2Sim)
    vot.deputados.append(dep2Abs)
    votacoes.append(vot)

    # votação 3
    vot = Votacao()
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep1Sim)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Nao)
    vot.deputados.append(dep2Abs)
    votacoes.append(vot)

    proposicao = Proposicao()
    proposicao.votacoes = votacoes

    proposicoes = [proposicao]

    # invocando a função testada
    s = partidos.semelhanca(partido1, partido2, proposicoes)

    # testando se tá certo
    expected = 0.2524905 # calculado na mão
    self.assertAlmostEqual(expected, s, 5)
Пример #7
0
import proposicoes
import camaraws
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, '%'))

Пример #8
0
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
"""Script semelhanca -- 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['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))