CLI para parsear arquivos HTML disponibilizados pelo Leis Municipais
e gerar um único arquivo em formato json
com as mesmas.
Importante: o site Leis Municipais nos forneceu os arquivos das leis da cidade de Feira de Santana após um pedido feito a Câmara de Vereadores da cidade. A casa solicitou ao site e eles enviaram um arquivo compactado com vários HTMLs. Essa CLI parseia essas informações e disponibiliza em um JSON. Leia mais sobre isso aqui.
Para ter acesso ao arquivo do Leis Municipais, você deve solicitar a Câmara da sua cidade via Lei de Acesso à Informação. O arquivo com os HTMLs da cidade de Feira de Santana pode ser encontrado aqui.
Você encontrará a última versão da CLI na aba de releases desse projeto. Temos versões para Linux e MacOS. Faça o download da última versão e dê permissões para o executável:
chmox +x leis-municipais-linux-amd64
Em seguida, é só executar, passando o caminho da pasta de leis como argumento e o nome do arquivo (por enquanto a extensão do arquivo deve ser em .json
):
./leis-municipais-linux-amd64 LeisMunicipaisFeiraDeSantana/ nome_do_arquivo_de_sua_preferencia.json
Voilà! Um arquivo chamado nome_do_arquivo_de_sua_preferencia.json
foi criado na mesma pasta em que você
executou o comando.
Todas as contribuições são bem-vindas! Para sugerir uma melhoria, funcionalidade ou cadastrar um bug, abra uma nova issue.
curl https://sh.rustup.rs -sSf | sh
(deve demorar um pouco)- execute
rustc --version
para verificar se a instalação ocorreu bem. se não, configure oPATH
:export PATH="$HOME/.cargo/bin:$PATH"
no arquivo de configuração do seu terminal - vá para a pasta do projeto
cargo run <caminho_absoluto_para_a_pasta> nome_do_arquivo_de_sua_preferencia.json
Pronto! O arquivo nome_do_arquivo_de_sua_preferencia.json
será criado na pasta raiz do projeto.
- vá para a pasta do projeto
cargo run <caminho_absoluto_para_a_pasta> nome_do_arquivo_de_sua_preferencia.json
Pronto! O arquivo nome_do_arquivo_de_sua_preferencia.json
será criado na pasta raiz do projeto.
Para rodar os hooks antes de algum commit:
git config core.hooksPath .githooks
Antes de abrir um pull request, não esqueça de rodar os testes.
- para rodar todos testes:
cargo test
- para rodar somente os testes unitários:
cargo test --bin leis-municipais
- para rodar somente os testes de integração:
cargo test --test integration
- para rodar somente um teste:
cargo test <nome_do_teste>