def get_analise_temporal(self):
     """Retorna instância de AnaliseTemporal"""
     if not self.analises_periodo:
         self._faz_analises()
     analise_temporal = AnaliseTemporal()
     analise_temporal.casa_legislativa = self.casa_legislativa
     analise_temporal.periodicidade = self.periodicidade
     analise_temporal.analises_periodo = self.analises_periodo
     analise_temporal.votacoes = self.votacoes
     return analise_temporal
Exemple #2
0
 def get_analise_temporal(self):
     """Retorna instância de AnaliseTemporal"""
     if not self.analises_periodo:
         self._faz_analises()
     analise_temporal = AnaliseTemporal()
     analise_temporal.casa_legislativa = self.casa_legislativa
     analise_temporal.periodicidade = self.periodicidade
     analise_temporal.analises_periodo = self.analises_periodo
     analise_temporal.votacoes = self.votacoes
     analise_temporal.chefes_executivos = self.chefes_executivos
     analise_temporal.total_votacoes = self.total_votacoes
     analise_temporal.palavras_chaves = self.palavras_chave
     return analise_temporal
Exemple #3
0
 def get_analise_temporal(self):
     """Retorna instância de AnaliseTemporal"""
     if not self.analises_periodo:
         self._faz_analises()
     analise_temporal = AnaliseTemporal()
     analise_temporal.casa_legislativa = self.casa_legislativa
     analise_temporal.periodicidade = self.periodicidade
     analise_temporal.area_total = self.area_total
     analise_temporal.analises_periodo = self.analises_periodo
     analise_temporal.votacoes = self.votacoes
     return analise_temporal
    def setUp(self):

        self.casa = models.CasaLegislativa.objects.get(nome_curto='conv')
        for partido in JsonAnaliseGeneratorTest.importer.partidos:
            if partido.nome == convencao.GIRONDINOS:
                self.girondinos = partido
            if partido.nome == convencao.JACOBINOS:
                self.jacobinos = partido
            if partido.nome == convencao.MONARQUISTAS:
                self.monarquistas = partido

        self.analiseTemporal = AnaliseTemporal()
        self.analiseTemporal.casa_legislativa = self.casa
        self.analiseTemporal.periodicidade = models.BIENIO
        self.analiseTemporal.area_total = 1
        self.analiseTemporal.analises_periodo = []

        ap1 = AnalisePeriodo()
        periodos_retriever = utils.PeriodosRetriever(self.casa, models.BIENIO)
        periodos = periodos_retriever.get_periodos()
        ap1.casa_legislativa = None
        ap1.periodo = periodos[0]
        ap1.partidos = [self.girondinos, self.jacobinos, self.monarquistas]
        ap1.votacoes = []
        ap1.num_votacoes = 0
        ap1.tamanhos_partidos = {
            self.girondinos: 3,
            self.jacobinos: 3,
            self.monarquistas: 3
        }
        ap1.soma_dos_tamanhos_dos_partidos = 3 * 3
        ap1.pca = PCAStub()
        ap1.coordenadas_partidos = {}
        ap1.coordenadas_partidos[convencao.JACOBINOS] = [-0.4, 0.3]
        ap1.coordenadas_partidos[convencao.GIRONDINOS] = [0.9, -0.3]
        ap1.coordenadas_partidos[convencao.MONARQUISTAS] = [0.2, 0.1]
        ap1.legislaturas_por_partido = JsonAnaliseGeneratorTest.importer.legs
        ap1.coordenadas_legislaturas = {}  # legislatura.id => [x,y]
        for p, legs in ap1.legislaturas_por_partido.items():
            for leg in legs:
                ap1.coordenadas_legislaturas[leg.id] = [random(), random()]
        self.analiseTemporal.analises_periodo.append(ap1)
    def salvar_no_bd(self):
        """Salva uma instância de AnalisadorTemporal no banco de dados.

        Este método poderá ser excluído quando o json antigo não for mais usado."""
        # 'modat' é o modelo análise temporal que vou salvar.
        modat = AnaliseTemporal()
        modat.casa_legislativa = self.casa_legislativa
        modat.periodicidade = self.periodicidade
        modat.data_inicio = self.ini
        modat.data_fim = self.fim
        modat.votacoes = self.votacoes
        modat.partidos = self.partidos
        modat.area_total = self.area_total
        # Criar um hash para servir de primary key desta análise temporal:
        modat.hash_id = self._calcula_hash()
        # Salvar no bd, ainda sem as análises
        modat.save()
        # Salvar as análises por período no bd:
        for ap in self.analisadores_periodo:
            modap = AnalisePeriodo()
            modap.casa_legislativa = ap.casa_legislativa
            modap.data_inicio = ap.ini.strftime("%Y-%m-%d")
            modap.data_fim = ap.fim.strftime("%Y-%m-%d")
            # votacoes = self.votacoes
            # partidos = self.partidos
            modap.analiseTemporal = modat
            posicoes = []
            for part, coord in ap.coordenadas.items():
                posicao = PosicaoPartido()  # Cria PosicaoPartido no bd
                posicao.x = coord[0]
                posicao.y = coord[1]
                posicao.partido = models.Partido.objects.filter(nome=part)[0]
                posicao.tamanho = ap.tamanhos_partidos.get(part, 0)
                posicao.presenca = 0  # TODO: incluir presença aqui.
                posicao.save()  # Salva PosicaoPartido no bd
                posicoes.append(posicao)
            modap.save()
            modap.posicoes = posicoes
            modap.save()  # Salva a análise do período no bd, associada a uma AnalisadorTemporal
Exemple #6
0
    def salvar_no_bd(self):
        """Salva uma instância de AnalisadorTemporal no banco de dados.

        Este método poderá ser excluído quando o json antigo não for mais usado."""
        # 'modat' é o modelo análise temporal que vou salvar.
        modat = AnaliseTemporal()
        modat.casa_legislativa = self.casa_legislativa
        modat.periodicidade = self.periodicidade
        modat.data_inicio = self.ini
        modat.data_fim = self.fim
        modat.votacoes = self.votacoes
        modat.partidos = self.partidos
        modat.area_total = self.area_total
        # Criar um hash para servir de primary key desta análise temporal:
        modat.hash_id = self._calcula_hash()
        # Salvar no bd, ainda sem as análises
        modat.save()
        # Salvar as análises por período no bd:
        for ap in self.analisadores_periodo:
            modap = AnalisePeriodo()
            modap.casa_legislativa = ap.casa_legislativa
            modap.data_inicio = ap.ini.strftime('%Y-%m-%d')
            modap.data_fim = ap.fim.strftime('%Y-%m-%d')
            #votacoes = self.votacoes
            #partidos = self.partidos
            modap.analiseTemporal = modat
            posicoes = []
            for part, coord in ap.coordenadas.items():
                posicao = PosicaoPartido() # Cria PosicaoPartido no bd
                posicao.x = coord[0]
                posicao.y = coord[1]
                posicao.partido = models.Partido.objects.filter(nome=part)[0]
                posicao.tamanho = ap.tamanhos_partidos.get(part,0)
                posicao.presenca = 0 # TODO: incluir presença aqui.
                posicao.save() # Salva PosicaoPartido no bd
                posicoes.append(posicao)
            modap.save()
            modap.posicoes = posicoes
            modap.save() # Salva a análise do período no bd, associada a uma AnalisadorTemporal