Acesso, tradução e modelos usando dados do congresso nacional.
Este repositório tem por objetivo principal prover o conjunto de funções e serviços que permitem capturar e processar dados de proposições e parlamentares do congresso nacional. Para isto existem dois módulos principais: o pacote agoradigital que exporta funções que acessam e processam dados do Congresso e o módulo scripts que executa e salva os dados caputarados e processados.
Antes de instalar nosso pacote, é necessário que você tenha o R instalado.
Rscript -e
. Exemplo: Rscript -e 'agoradigital::fetch_proposicao(82051, "senado")'
Recomendamos que você instale o pacote devtools que é uma ferramenta que irá te ajudar no processo de instalação e desenvolvimento.
Após isso, você pode instalar o pacote no seu ambiente R de preferência:
Para utilizá-lo:
Para verificar se toda a instalação foi feita de maneira correta, use o exemplo:
Exemplos básicos de uso.
A maioria de nossos métodos necessita do id da proposição que você deseja extrair informações, há várias formas de capturar esse id, serão mostradas as mais básicas:
Pelo site da câmara e do senado:
Tendo como exemplo o PL 3729/2004 da Câmara, você pode visualizar o id pela URL da página da Câmara. Nesse caso o id é 257161:
No Senado é da mesma forma, tendo como exemplo o PLS 441/2007, o id é 82051:
Agora você pode utilizar esses ids nos métodos que precisar. Exemplo:
Baixar dados e gerar relatórios:
Gerar documentação:
Rodar testes:
Mostrar cobertura do código:
Fazer verificações gerais um pouco mais bonitinhas:
Rodar o linter:
Gerar csvs de Comissões:
Certifique-se que você está na raiz do repositório do leggoR
Caso tenha feito alguma alteração no código e queira que esta alteração se reflita nos csvs gerados rode (no seu Rstudio local):
> devtools::install(upgrade = "never")
E por fim rodar o script
$ Rscript scripts/fetch_updated_bills_data.R -e <export_path> -f 4
O <export_path> é o caminho onde oos csvs do resultado serão salvos
@export
a documentação da função para garantir que essa função será exportada, apois isso, gere a documentação do package.devtools::document()
Para rodar os testes:
devtools::test()
devtools::install_github(‘parlametria/leggoR@nome_da_branch’)
Depois faça os testes necessários para garantir que o pacote está funcionando conforme esperado.
Este repositório possui uma configuração do docker para facilitar o desenvolvimento, teste e deploy do leggoR considerando seus módulos principais: pacote agoradigital, módulo de scripts.
Para usar o docker será necessário:
Instale o docker e o docker-compose.
Configure as variáveis de ambiente: crie uma cópia do arquivo .env.sample e o renomeie para .env. Em seguida preencha as variáveis com os valores adequados para execução. APP_SECRET = hash da url do bot Voz Ativa.
docker-compose build
Agora é possível usar o rmod (nome do serviço levantado pelo docker-compose) para executar o código do leggoR:
Exemplo:
docker-compose run --rm rmod Rscript scripts/fetch_updated_bills_data.R -e <export_path> -f 4
O
Sempre que o código do repositório for alterado é necessário realizar um novo build da imagem docker para que as mudanças sejam refletidas quando o container estiver em execução.
É possível com algumas alterações criar um volume entre o código do repositório e o container para facilitar o teste e desenvolvimento do leggoR mas isto ainda não está implementado.
Se encontrou algum problema ou deseja fazer alguma melhoria. Por favor, abra uma issue e descreva o problema com clareza, se possível com exemplos que possamos reproduzir.
Toda ajuda é bem vinda e de grande importância :) sinta-se à vontade.