Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issue #4 #5

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Fix issue #4 #5

wants to merge 2 commits into from

Conversation

streino
Copy link
Contributor

@streino streino commented Jun 20, 2023

No description provided.

@streino streino requested a review from alhyss June 20, 2023 11:10
@streino streino self-assigned this Jun 20, 2023
@streino streino changed the title Fix #4 Fix issue #4 Jun 20, 2023
@alhyss
Copy link
Collaborator

alhyss commented Jun 20, 2023

Si c'est le descriptif de l'erreur qui t'intéresse, ça vaudrait peut-être le coup de récupérer r.json()['error'] quand l'erreur vient de l'API et pas du serveur ? Dans ce cas r.status_code vaut 200.

fl n'a aucun effet, c'est ça ? Je suppose que je l'avais mis pour ne pas conserver d'information inutile, mais je ne sais pas trop comment interpréter la doc de l'API CKAN à son sujet - s'il est pris en charge ou pas... Et j'avais sans doute testé des choses, mais je ne m'en souviens plus du tout.

D'ailleurs ça ne change rien en l'occurrence, mais nous sommes toujours sous CKAN 2.9 ou tu as fais une mise à jour ?

@streino
Copy link
Contributor Author

streino commented Jun 20, 2023

J'ai amélioré le message d'erreur.

fl a un effet : celui de faire planter la requête 😅 D'où le 500 rapporté dans #4.

La doc CKAN que tu cites indique que ce paramètre Solr n'est pas géré par leur API :

Limitations:
The full solr query language is not exposed, including.
fl
...

@alhyss
Copy link
Collaborator

alhyss commented Jun 20, 2023

Ouais, je ne sais pas s'il y a un rapport entre les deux paragraphes... On a l'impression qu'il manque quelque chose, et c'est bizarre de copier toute la définition d'un paramètre qu'on ne prend pas en charge, et même de prévoir pour lui une syntaxe adaptée à Python...

D'ailleurs, en y regardant de plus près...

https://github.com/ckan/ckan/blob/8872e994cb194d061d6bb379cafe2e4ef79862db/ckan/logic/action/get.py#LL1906C1-L1910C50

        result_fl = data_dict.get('fl')
        if not result_fl:
            data_dict['fl'] = 'id {0}'.format(data_source)
        else:
            data_dict['fl'] = ' '.join(result_fl)

Est-ce que le problème ce n'est pas plutôt que je n'ai pas utilisé la bonne syntaxe ? J'avais écrit 'id, name', pas ['id', 'name'], et le résultat de ' '.join('id, name') n'est pas franchement joli à voir...

@streino
Copy link
Contributor Author

streino commented Jun 20, 2023

En effet c'est bizarre tout ça. Et l'erreur provoquée est en fait dans ckanext-ecosphères 🤨

2023-06-20 15:19:44,132 ERROR [ckan.views.api] 'NoneType' object is not iterable
Traceback (most recent call last):
  File "/srv/app/src/ckan/ckan/config/middleware/../../views/api.py", line 293, in action
    result = function(context, request_data)
  File "/srv/app/src/ckan/ckan/logic/__init__.py", line 504, in wrapped
    result = _action(context, data_dict, **kw)
  File "/srv/app/src/ckan/ckan/logic/action/get.py", line 1961, in package_search
    search_results = item.after_search(search_results, data_dict)
  File "/srv/app/src/ckanext-ecospheres/ckanext/ecospheres/dcat/plugin.py", line 272, in after_search
    for resource in _dict_resources:
TypeError: 'NoneType' object is not iterable

Deux options :

  1. On met la PR en pause d'ici à ce qu'on regarde ce qui se passe, cf ERROR [ckan.views.api] 'NoneType' object is not iterable ckanext-ecospheres#28.
  2. On merge cette PR pour refaire fonctionner l'outil, et on la revert quand on aura corrigé le problème à la source.

@alhyss
Copy link
Collaborator

alhyss commented Jun 21, 2023

Ça me rassure que l'erreur soit du côté de ckanext-ecospheres. Je n'arrivais pas à comprendre pourquoi ça passait avant et plus maintenant.

Sinon, tu as du voir, mais j'ai répondu dans l'issue #28.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

maintenance.dialog.DialogError: Impossible de dresser la liste des moissonnages.
2 participants