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)
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