Open IgorEliezer opened 1 year ago
Crie a api.
Ver os links:
CSV: http://osm.codes/_sql.csv/pkindown JSON: http://osm.codes/_sql/pkindown
Comente aqui se precisar mudar nomes dos campos ou acrescentar/remover campos.
Notar que onde license
for null o problema está no donatedPack.csv.
Muito bom, já dá um panorama do que temos. Vi que alguns precisam de licença e descrição.
Já vou passar para Thierry uma versão formatada para ele ver.
EDIT:
Ver minha resposta abaixo.
Estou conversando com o Igor e sugerimos adicionar o seguinte a esta planilha:
Consolidei as sugestões minhas e de @ThierryAJean:
description
, adicionar uma coluna para cada data type de disponibilizamos (block
, geoaddress
, nsvia
, parcel
, via
etc.), com valor yes
ou no
, para indicar se está disponível.address_qty
).Verificar viabilidade. Eu lembro que no futuro teremos um dashboard que vai detalhar numa interface melhor, então acho que não vale a pena carregar a planilha de muita formatação, notas etc. (i.e. itens 2 e 5).
@0e1 , gerei uma planilha para ver. A cidade BR-RS-Bage aparece na página de download, está nas planilhas donors.csv e package.csv, tem README e pacotes publicados, mas não parece na planilha pkindown. Ela não tem dados filtrados, é por isso?
@0e1 , gerei uma planilha para ver. A cidade BR-RS-Bage aparece na página de download, está nas planilhas donors.csv e package.csv, tem README e pacotes publicados, mas não parece na planilha pkindown. Ela não tem dados filtrados, é por isso?
Não é por isso.
Se a cópia para o datalake e aprovação não são realizadas, não foi publicado. Vou tentar consertar isso.
Se a cópia para o datalake e aprovação não são realizadas, não foi publicado. Vou tentar consertar isso.
Conclui a publicação.
Verificar:
Consolidei as sugestões minhas e de @ThierryAJean:
1. Colocar a data de geração no nome do arquivo: pkindown_2023-09-12_113400.csv 2. Adicionar 1ª linha como título, algo como "Filtered data packages - this table lists ingested data by the Digital-Guard project, maintained by the AddressForAll Institute" 3. Após a coluna `description`, adicionar uma coluna para cada data type de disponibilizamos (`block`, `geoaddress`, `nsvia`, `parcel`, `via` etc.), com valor `yes` ou `no`, para indicar se está disponível. 4. Após as colunas de disponibilidade, colocar uma coluna que mostra a contagem de objetos com endereços no pacote (Thierry sugeriu o label `address_qty`). 5. É possível adicionar, após a lista, notas explicativas dos _lables_ das colunas?
Verificar viabilidade. Eu lembro que no futuro teremos um dashboard que vai detalhar numa interface melhor, então acho que não vale a pena carregar a planilha de muita formatação, notas etc. (i.e. itens 2 e 5).
Estão na fila pra resolver.
@IgorEliezer
Para os itens 3 e 4 eu implementei uma alternativa. Avalie se não fica melhor (baixe o arquivo pra ver):
Concordo sobre os itens 2 e 5 (mas podem ser incluídos facilmente). O item 2 quebra a estrutura do arquivo (tabela em csv onde a primeira linha contem os rotulos das colunas).
Para o item 1 ainda não tenho uma solução simples. Porém, me parece que o comportamento correto da API e retornar sempre um arquivo com o mesmo nome, especialmente se ele será consumido automaticamente em algum momento. Uma alternativa para obter o csv com data seria usando o comando:
curl https://afa.codes/_sql.csv/pkindown > pkindown_$(date +"%Y-%m-%d").csv
Para o item 1 ainda não tenho uma solução simples.
Então fica postergado. O usuário pode simplesmente fazer o controle renomeando o arquivo localmente.
Para os itens 3 e 4 eu implementei uma alternativa. Avalie se não fica melhor (baixe o arquivo pra ver):
Ficou melhor. Onde for zero a gente considera que não tem.
Ficou melhor. Onde for zero a gente considera que não tem.
Não tinha notado valores zero. Mas tem.
Então, o entendimento correto seria:
No fim das contas, em ambos os casos dá pra consideram que não tem.
Não tinha notado valores zero. Mas tem.
Ah, imprecisão minha. Quando falei zero, falei no sentido de vazio.
Agora se aparecer o valor "0", eu já consideraria que o arquivo existe mas está sem contagem ou sem objetos contados ou a tabela de dados do arquivo está vazia, como você sugere.
Será que é interessante colocar um "N/A" (not available) quando inexiste arquivo, ou é mais prático deixar vazio mesmo?
@IgorEliezer o NULL tem suas ambiguidades conforme lembra a Wikipedia, e em geral isso se resolve com a "padronização local":
Vamos então fechar as nossas padronizações na Wiki, usar o artigo "Convenções gerais SQL":
Ver os links: CSV: http://osm.codes/_sql.csv/pkindown JSON: http://osm.codes/_sql/pkindown
Adicionei estes dois links no README raiz do projeto: https://github.com/digital-guard#logs-and-reports
Conversando com @ThierryAJean, vimos ainda a necessidade de ter um relatório/planilha que liste todos os pacotes disponíveis na página de Download para um usuário comum que não lida com GitHub, mas gostaria de ver uma lista completa para ter um panorama geral da situação.
Porém quero evitar criar outra planilha que teria que ser mantida sincronizada com as planilhas donor.csv e donatedPack.csv dos vários repositórios dos países no GitHub; ela seria gerada a partir dos dados que já estão na página Download, uma versão CSV da página HTML
Conterias colunas: jurisdição, doador, pacote, descrição do conteúdo, etiqueta da licença e link para a página README do pacote.
Este relatório seria gerado ou obtido de um link no topo da página de Download.