##parameters=rodape_dic, sessao='', imagem, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores """Script para geração do PDF das sessoes plenarias Autor: Gustavo Lepri Atualizado por Luciano De Fázio - 22/03/2012 versão: 1.0 """ import time from trml2pdf import parseString def cabecalho(inf_basicas_dic, imagem): """ """ tmp = '' tmp += '\t\t\t\t\n' tmp += '\t\t\t\t2cm 25.4cm 19cm 25.4cm\n' tmp += '\t\t\t\t\n' tmp += '\t\t\t\t' + \ str(inf_basicas_dic["nom_camara"]) + '\n' tmp += '\t\t\t\t\n' tmp += '\t\t\t\tSistema de Apoio ao Processo Legislativo\n' tmp += '\t\t\t\t\n' tmp += '\t\t\t\tResumo da ' + str(inf_basicas_dic['num_sessao_plen']) + 'ª Reunião ' + str(inf_basicas_dic['nom_sessao']) + ' da ' + str( inf_basicas_dic['num_sessao_leg']) + 'ª Sessão Legislativa da ' + str(inf_basicas_dic['num_legislatura']) + 'ª Legislatura \n' return tmp def rodape(rodape_dic): tmp = '' tmp += '\t\t\t\t2cm 3.2cm 19cm 3.2cm\n' tmp += '\t\t\t\t\n' tmp += '\t\t\t\t' + \ rodape_dic[2] + '\n' tmp += '\t\t\t\tPágina \n' tmp += '\t\t\t\t' + \ rodape_dic[0] + '\n' tmp += '\t\t\t\t' + \ rodape_dic[1] + '\n' return tmp def paraStyle(): """ """ tmp = '' tmp += '\t\n' tmp += '\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\t\n' tmp += '\t\n' return tmp def inf_basicas(inf_basicas_dic): """ """ tmp = "" nom_sessao = inf_basicas_dic['nom_sessao'] num_sessao_plen = inf_basicas_dic["num_sessao_plen"] num_sessao_leg = inf_basicas_dic["num_sessao_leg"] num_legislatura = inf_basicas_dic["num_legislatura"] dat_inicio_sessao = inf_basicas_dic["dat_inicio_sessao"] hr_inicio_sessao = inf_basicas_dic["hr_inicio_sessao"] dat_fim_sessao = inf_basicas_dic["dat_fim_sessao"] hr_fim_sessao = inf_basicas_dic["hr_fim_sessao"] if hr_fim_sessao is None: hr_fim_sessao = '' tmp += '\t\tInformações Básicas\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' tmp += '\t\tTipo da Sessão: ' + \ nom_sessao + '\n' tmp += '\t\tAbertura: ' + \ dat_inicio_sessao + ' - ' + hr_inicio_sessao + '\n' tmp += '\t\tEncerramento: ' + \ dat_fim_sessao + ' - ' + hr_fim_sessao + '\n' return tmp def mesa(lst_mesa): """ """ tmp = '' tmp += '\t\tMesa Diretora\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' for mesa in lst_mesa: tmp += '\t\t' + \ str(mesa['des_cargo']) + ': ' + str(mesa['nom_parlamentar'] ) + '/' + str(mesa['sgl_partido']) + '\n' return tmp def presenca(lst_presenca_sessao): """ """ tmp = '' tmp += '\t\tLista de Presença da Sessão\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' for presenca in lst_presenca_sessao: tmp += '\t\t' + \ str(presenca['nom_parlamentar']) + '/' + \ str(presenca['sgl_partido']) + '\n' return tmp def expedientes(lst_expedientes): """ """ tmp = '' tmp += '\t\tExpedientes\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' for expediente in lst_expedientes: tmp += '\t\t' + \ expediente['nom_expediente'] + ': \n' + \ '' + \ expediente['txt_expediente'] + '\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' return tmp def expediente_materia(lst_expediente_materia): """ """ tmp = '' tmp += '\t\tMatérias do Expediente\n\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' tmp += '\n' tmp += 'MatériaEmentaResultado da Votação\n' for expediente_materia in lst_expediente_materia: tmp += '' + str(expediente_materia['num_ordem']) + ' - ' + expediente_materia['id_materia'] + '\n' + 'Turno: ' + expediente_materia[ 'des_turno'] + '\n' + 'Autor: ' + expediente_materia['nom_autor'] + '\n' txt_ementa = expediente_materia['txt_ementa'].replace('&', '&') tmp += '' + txt_ementa + '\n' tmp += '' + \ expediente_materia['nom_resultado'] + '\n' + '' + \ expediente_materia['votacao_observacao'] + '\n' tmp += '\t\t\n' return tmp def oradores_expediente(lst_oradores_expediente): """ """ tmp = '' tmp += '\t\tOradores do Expediente\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' for orador_expediente in lst_oradores_expediente: tmp += '\t\t' + str(orador_expediente['num_ordem']) + ' - ' + orador_expediente[ 'nom_parlamentar'] + '/' + str(orador_expediente['sgl_partido']) + '\n' return tmp def presenca_ordem_dia(lst_presenca_ordem_dia): """ """ tmp = '' tmp += '\t\tLista de Presença da Ordem do Dia\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' for presenca_ordem_dia in lst_presenca_ordem_dia: tmp += '\t\t' + \ str(presenca_ordem_dia['nom_parlamentar']) + '/' + \ str(presenca_ordem_dia['sgl_partido']) + '\n' return tmp def votacao(lst_votacao): """ """ tmp = '' tmp += 'Matérias da Ordem do Dia\n\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' tmp += '\n' tmp += 'MatériaEmentaResultado da Votação\n' for votacao in lst_votacao: tmp += '' + str(votacao['num_ordem']) + ' - ' + votacao['id_materia'] + '\n' + 'Turno: ' + votacao[ 'des_turno'] + '\n' + 'Autor: ' + votacao['nom_autor'] + '\n' txt_ementa = votacao['txt_ementa'].replace('&', '&') tmp += '' + txt_ementa + '\n' tmp += '' + \ votacao['nom_resultado'] + '\n' + '' + \ votacao['votacao_observacao'] + '\n' tmp += '\t\t\n' return tmp def oradores(lst_oradores): """ """ tmp = '' tmp += '\t\tOradores das Explicações Pessoais\n' tmp += '\t\t\n' tmp += '\t\t\t \n' tmp += '\t\t\n' for orador in lst_oradores: tmp += '\t\t' + \ str(orador['num_ordem']) + ' - ' + orador['nom_parlamentar'] + \ '/' + str(orador['sgl_partido']) + '\n' return tmp def principal(cabecalho_dic, rodape_dic, imagem, sessao, inf_basicas_dic, lst_mesa, lst_presenca_sessao, lst_expedientes, lst_expediente_materia, lst_oradores_expediente, lst_presenca_ordem_dia, lst_votacao, lst_oradores): """ """ arquivoPdf = str(int(time.time() * 100)) + ".pdf" tmp = '' tmp += '\n' tmp += '\n' tmp += '\n' tmp += '\t\n' tmp += paraStyle() tmp += '\t\n' tmp += inf_basicas(inf_basicas_dic) tmp += mesa(lst_mesa) tmp += presenca(lst_presenca_sessao) tmp += expedientes(lst_expedientes) tmp += expediente_materia(lst_expediente_materia) tmp += oradores_expediente(lst_oradores_expediente) tmp += presenca_ordem_dia(lst_presenca_ordem_dia) tmp += votacao(lst_votacao) tmp += oradores(lst_oradores) tmp += '\t\n' tmp += '\n' tmp_pdf = parseString(tmp) return tmp_pdf # if hasattr(context.temp_folder,arquivoPdf): # context.temp_folder.manage_delObjects(ids=arquivoPdf) # context.temp_folder.manage_addFile(arquivoPdf) # arq=context.temp_folder[arquivoPdf] # arq.manage_edit(title='Arquivo PDF temporario.',filedata=tmp_pdf,content_type='application/pdf') # return "/temp_folder/"+arquivoPdf # return principal(cabecalho, rodape, sessao, imagem, inf_basicas_dic)