예제 #1
0
 def obterEventosPresentes(self, dep_id, data_inicial, data_final, reunioes,
                           comissoes, orgaos_nomes):
     eventos_todos = self.com.obterReunioesComissoes()
     presencas = self.com.obterPresencaReunioesComissoes()
     presencas = [x for x in presencas if x["idDeputado"] == dep_id]
     presencas_reunioes_id = [x["idReuniao"] for x in presencas]
     for e in eventos_todos:
         if (self.obterDatetimeDeStr(e["data"]) > data_inicial
                 and self.obterDatetimeDeStr(e["data"]) < data_final):
             evento = Evento()
             evento.id = e['id']
             evento.data_inicial = self.brasilia_tz.localize(
                 self.obterDatetimeDeStr(e["data"]))
             evento.nome = e['convocacao']
             evento.situacao = e['situacao']
             if e['id'] in reunioes:
                 for r in reunioes[e['id']]:
                     proposicao = Proposicao()
                     proposicao.id = r['idDocumento']
                     proposicao.pauta = r['idDocumento']
                     proposicao.url_documento = \
                         'https://www.al.sp.gov.br/propositura/?id={}'.format(r['idDocumento'])
                     proposicao.voto = self.obterVotoDescritivo(r['voto'])
                     proposicao.tipo = r['idDocumento']
                     evento.pautas.append(proposicao)
             orgao = Orgao()
             orgao.nome = comissoes[e['idComissao']]['nome']
             orgao.apelido = comissoes[e['idComissao']]['sigla']
             evento.orgaos.append(orgao)
             if e["id"] in presencas_reunioes_id:
                 evento.set_presente()
                 self.relatorio.eventos_presentes.append(evento)
             else:
                 evento.set_ausencia_evento_nao_esperado()
                 if (comissoes[e["idComissao"]]["sigla"] in orgaos_nomes
                         and e['situacao'].lower() in [
                             'em preparação', 'em preparacao', 'realizada',
                             'encerrada'
                         ]):
                     evento.set_ausente_evento_previsto()
                     self.relatorio.eventos_previstos.append(evento)
                 self.relatorio.eventos_ausentes.append(evento)
예제 #2
0
    def build_event(self, event_info):
        """
        Builds an Event object with given event data

        :param event_info: Event dict
        :type event_info: Dict
        :return: Event object
        :rtype: Evento
        """
        event = Evento()
        event.id = str(event_info['id'])
        event.data_inicial = self.get_brt(
            self._parse_datetime(event_info.get('dataHoraInicio')))
        event.data_final = self.get_brt(
            self._parse_datetime(event_info.get('dataHoraFim')))
        event.situacao = event_info.get('situacao')
        event.nome = event_info.get('descricao')
        event.url = event_info.get('uri')
        event.orgaos = [
            Orgao(nome=o.get('nome'), apelido=o.get('apelido'))
            for o in event_info.get('orgaos', [])
        ]
        return event