lappis-unb / salic-api

API aberta para o sistema SALIC. Tem por objetivo expor os dados de projetos da lei Rouanet
https://salic-api.readthedocs.org/pt/latest/
GNU General Public License v3.0
3 stars 1 forks source link

erro: Filtragem por data de início e fim não retorna resultados #95

Closed joenio closed 5 years ago

joenio commented 5 years ago

http://api.salic.cultura.gov.br/v1/projetos/?limit=12&offset=0&UF=AM&sort=PRONAC:desc&data_inicio_min=2008-10-6&data_termino_max=2009-10-15

http://10.1.20.145:88/v1/projetos/?limit=12&offset=0&UF=AM&sort=PRONAC:desc&data_inicio_min=2008-10-6&data_termino_max=2009-10-15

copiado de #92.

joenio commented 5 years ago

erro confirmado, ao fazer requisição passando argumentos data_inicio_min e data_termino_max como no exemplo da url abaixo num teste realizado local recebemos o erro em seguite.

{
"message": "invalid request arguments:
                    ['data_inicio_min', 'data_termino_max', 'limit', 'offset', 'sort'].
 Possible args: ('IdPRONAC', 'PRONAC', 'UF', 'acessibilidade', 'ano_projeto', 'area', 'cgccpf',
 'data_inicio', 'data_termino', 'democratizacao', 'enquadramento', 'especificacao_tecnica', 
'estrategia_execucao', 'etapa', 'ficha_tecnica', 'format', 'impacto_ambiental', 'justificativa', 'limit', 
'mecanismo', 'municipio', 'nome', 'objetivos', 'offset', 'order', 'outras_fontes', 'proponente', 'providencia', 
'resumo', 'segmento', 'sinopse', 'situacao', 'sort', 'valor_aprovado', 'valor_captado', 'valor_projeto', 
'valor_proposta', 'valor_solicitado')",
"message_code": 13
}

uma tentativa inicial de corrigir o problema adicionando os campos como parâmetros válidos para a API faz esse erro específico acima ser corrigido mas outro erro acontece, segue abaixo o diff com a mudança realizada e a nova mensagem de erro (dessa ver a requisição leva bem mais tempo para responder).

diff --git a/salic_api/resources/projeto/query.py b/salic_api/resources/projeto/query.py
index fd05925..295ae15 100644
--- a/salic_api/resources/projeto/query.py
+++ b/salic_api/resources/projeto/query.py
@@ -85,7 +85,11 @@ class ProjetoQuery(Query):
         'PRONAC': Projeto.PRONAC,
         'UF': Projeto.UfProjeto,
         'data_inicio': Projeto.data_inicio_execucao,
+        'data_inicio_min': Projeto.data_inicio_execucao,
+        'data_inicio_max': Projeto.data_inicio_execucao,
         'data_termino': Projeto.data_fim_execucao,
+        'data_termino_min': Projeto.data_fim_execucao,
+        'data_termino_max': Projeto.data_fim_execucao,
         'IdPRONAC': Projeto.IdPRONAC,
         'ano_projeto': Projeto.AnoProjeto,

nova mensagem de erro:

{
"message": "No object was found with your criteria",
"message_code": 11
}