Development #37849
jsondatastore: ajouter &q=plop, filtre sur l'attribut text au endpoint list
0%
Description
filtre pas exact, ici .lower()
et se contenter d'une sous-chaîne
Fichiers
Demandes liées
Révisions associées
jsondatastore: add text filter on list endpoint (#37849)
Historique
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Lié à Development #29889: jsondatastore : endpoint de recherche ajouté
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Fichier 0001-jsondatastore-add-text-filter-on-list-endpoint-37849.patch 0001-jsondatastore-add-text-filter-on-list-endpoint-37849.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Dans le paramétrage du connecteur, il est possible de paramétrer le modèle à appliquer pour la valeur de la clé "text", dans cet exemple on aura ainsi mis {{nom}} ({{numero}}).
C'est là dessus que le filtre opère.
Patch piquant le code de Thomas depuis #21481. (merci)
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
En profiter pour documenter les paramètres du endpoint maintenant qu'il y en a un de plus ?
Je note ici qu'on a maintenant un long_description pour décrire par exemple le fonctionnement de kwargs.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution proposée à En cours
- Assigné à changé de Nicolas Roche à Benjamin Dauvergne
Mis à jour par Nicolas Roche il y a plus de 4 ans
Pour long_description
ça ne s'applique que sur les endpoints POST.
Sinon Benj, tu prends le ticket ou c'est une fausse manip ?
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Assigné à changé de Benjamin Dauvergne à Nicolas Roche
Aucune fausse manip, de temps en temps Redmine change le assigné à sans mon intervention.
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Pour long_description effectivement j'ai oublié de penser aux GET, tu t'en sorts avec juste l'ouverture d'un ticket "endpoint; permettre un long_description sur les endpoints GET". Ça n'empêche pas de documenter les paramètres par contre.
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Fichier 0001-jsondatastore-add-text-filter-on-list-endpoint-37849.patch 0001-jsondatastore-add-text-filter-on-list-endpoint-37849.patch ajouté
- Statut changé de En cours à Solution proposée
documenter les paramètres
pour le kwargs (qui contient les nom des attributs et leur valeur recherchée) je sèche :
/jsondatastore/xxx/data/?attribute=value
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Lié à Development #38215: endpoint; permettre un long_description sur les endpoints GET ajouté
Mis à jour par Frédéric Péters il y a plus de 4 ans
+def simplify(s):
Je commencerais pas factoriser ça, sous passerelle/utils/, pour en finir avec la duplication actuelle,
passerelle/apps/base_adresse/models.py: unaccented_q = unicodedata.normalize('NFKD', q).encode('ascii', 'ignore').lower() passerelle/apps/base_adresse/models.py: self.unaccent_name = unicodedata.normalize('NFKD', self.name).encode('ascii', 'ignore') passerelle/apps/csvdatasource/models.py: return unicodedata.normalize('NFKD', value).encode('ascii', 'ignore') passerelle/apps/gdc/views.py: normalized_voie = unicodedata.normalize('NFKD', voie_str).encode('ascii', 'ignore').decode('ascii') passerelle/apps/solis/models.py: s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore') passerelle/apps/sp_fr/models.py: s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore') passerelle/contrib/agoraplus/normalize.py: s = unicodedata.normalize('NFKD', s).encode('ascii', 'ignore') passerelle/contrib/agoraplus/views.py: return unicodedata.normalize('NFKD', s).encode('ascii', 'ignore').lower()
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Fichier 0001-jsondatastore-add-text-filter-on-list-endpoint-37849.patch 0001-jsondatastore-add-text-filter-on-list-endpoint-37849.patch ajouté
- ajoute
simplify()
à passerelle/utils/_init__.py_ - ajoute un message dans le champ
long_description
(via #38215) à propos de l'utilisation de paramètres supplémentaires pour filtrer sur les arguments du jsondatastore
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
Nicolas Roche a écrit :
Voici un patch qui :
- ajoute
simplify()
à passerelle/utils/_init__.py_- ajoute un message dans le champ
long_description
(via #38215) à propos de l'utilisation de paramètres supplémentaires pour filtrer sur les arguments du jsondatastore
Pas dans passerelle/utils/__init__.py, dans conversion plutôt, faut essayer de faire déglonfler ce init.py et ça peut aller dans son propre commit. (et tu peux ouvrir un ticket "factoriser simplify()")
L'indentation de parameters
est un peu fantasque, une ligne par key-value.
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Fichier 0001-utils-move-simplify-helper-in-conversion-37849.patch 0001-utils-move-simplify-helper-in-conversion-37849.patch ajouté
- Fichier 0002-jsondatastore-add-text-filter-on-list-endpoint-37849.patch 0002-jsondatastore-add-text-filter-on-list-endpoint-37849.patch ajouté
dans conversion plutôt,
yep, il fait déjà l'import sur unicodedata
L'indentation de
parameters
est un peu fantasque
fait
et tu peux ouvrir un ticket "factoriser simplify()
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Nicolas Roche il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit f5100baf1ef4f6a00359ef2710b3131436f270b9 Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Dec 5 17:20:45 2019 +0100 jsondatastore: add text filter on list endpoint (#37849) commit f141556e5cbc6ab37494b43c286d24c9c7ae94de Author: Nicolas ROCHE <nroche@entrouvert.com> Date: Thu Dec 5 17:18:11 2019 +0100 utils: move simplify helper in conversion (#37849)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
utils: move simplify helper in conversion (#37849)