opengis: support namespaces in feature_info endpoint (#79982) #331

Closed
ecazenave wants to merge 1 commits from wip/79982-opengis-namespaces into main
Owner
No description provided.
ecazenave force-pushed wip/79982-opengis-namespaces from 23ec16bb61 to 2a8fe30aca 2023-07-24 19:01:53 +02:00 Compare
ecazenave force-pushed wip/79982-opengis-namespaces from 2a8fe30aca to 651fc74421 2023-07-24 19:03:10 +02:00 Compare
ecazenave changed title from WIP: opengis: support namespaces in feature_info endpoint (#79982) to opengis: support namespaces in feature_info endpoint (#79982) 2023-07-25 10:40:26 +02:00
tnoel requested changes 2023-07-25 11:05:02 +02:00
Dismissed
@ -85,0 +104,4 @@
namespaces = []
for ns in self.feature_info_namespaces.splitlines():
ns = ns.strip()
if ns.startswith('#'):
Owner

Ici, pour ne pas considérer non plus les lignes vides :

if not ns or ns.startswith('#'):

Idéalement on ajouterait un validateur sur le champ qui vérifie cela (ie que toutes les lignes non-vides et non-commentaires commencent par un '{' et finissent par '}'), histoire de réduire le support à faire plus tard...

Ici, pour ne pas considérer non plus les lignes vides : `if not ns or ns.startswith('#'):` Idéalement on ajouterait un validateur sur le champ qui vérifie cela (ie que toutes les lignes non-vides et non-commentaires commencent par un '{' et finissent par '}'), histoire de réduire le support à faire plus tard...
@ -443,0 +599,4 @@
@mock.patch('passerelle.utils.Request.get')
def test_feature_info_with_namespace(mocked_get, app, connector):
connector.feature_info_namespaces = '''
{http://metropole-de-lyon}
Owner

Tu peux ici ajouter des lignes vides, des commentaires, n'importe quoi qui ne soit pas un namespace.

Tu peux ici ajouter des lignes vides, des commentaires, n'importe quoi qui ne soit pas un namespace.
ecazenave force-pushed wip/79982-opengis-namespaces from 651fc74421 to 5b5008eb2f 2023-07-25 11:48:46 +02:00 Compare
Author
Owner

Tenu compte de tout.

Aussi ajouté null=True sur le @feature_info_namespaces@.

Tenu compte de tout. Aussi ajouté null=True sur le @feature_info_namespaces@.
ecazenave requested review from tnoel 2023-07-25 11:49:33 +02:00
Owner

Frein à poser ici le problème semble plus important, ce qui se voit directement dans les tests : le format qu'on retourne pour l'ancienne et la nouvelle version est différent, donc ça va demander adaptation partout, c'est très bof.

Frein à poser ici le problème semble plus important, ce qui se voit directement dans les tests : le format qu'on retourne pour l'ancienne et la nouvelle version est différent, donc ça va demander adaptation partout, c'est très bof.
tnoel refused to review 2023-08-03 15:12:26 +02:00
tnoel dismissed tnoel’s review 2023-08-03 15:12:39 +02:00
Owner

Frein à poser ici, le problème semble plus important, ce qui se voit directement dans les tests : le format qu'on retourne pour l'ancienne et la nouvelle version est différent, donc ça va demander adaptation partout, c'est très bof.

Là-dessus c'est toujours en besoin d'analyse côté GL, ma perspective du moment serait de

  1. partir sans configuration dans le modèle pour les namespaces, i.e. prendre tout ce qui vient, hors namespace "opengis" standard ("http://www.opengis.net/gml").
  2. avoir en settings (parce que ça va être bien moche), une possibilité de mapping, exemple pour le cas présent,
OPENGIS_FEATURE_TRANSFORMS = {
"{http://metropole-de-lyon}eco_ecologie.zfe": "eco_ecologiezfe_layer/eco_ecologiezfe_feature",
}

qui ferait que le metropole-de-lyon:eco_ecologie.zfe qui donne dans ce ticket "eco_ecologiezfe": {les attributs ici}, donne plutôt "eco_ecologiezfe_layer": {"eco_ecologiezfe_feature": { les attributs ici }}; c'est très adhoc sur la migration toodego actuelle, il y aurait espoir à ce qu'ils reprennent les workflows etc. pour à terme faire disparaitre ça. (et pas exposé dans l'interface, on s'assure que personne ne viendra utiliser ça).

> Frein à poser ici, le problème semble plus important, ce qui se voit directement dans les tests : le format qu'on retourne pour l'ancienne et la nouvelle version est différent, donc ça va demander adaptation partout, c'est très bof. Là-dessus c'est toujours en besoin d'analyse côté GL, ma perspective du moment serait de 1. partir sans configuration dans le modèle pour les namespaces, i.e. prendre tout ce qui vient, hors namespace "opengis" standard ("http://www.opengis.net/gml"). 2. avoir en settings (parce que ça va être bien moche), une possibilité de mapping, exemple pour le cas présent, ``` OPENGIS_FEATURE_TRANSFORMS = { "{http://metropole-de-lyon}eco_ecologie.zfe": "eco_ecologiezfe_layer/eco_ecologiezfe_feature", } ``` qui ferait que le metropole-de-lyon:eco_ecologie.zfe qui donne dans ce ticket `"eco_ecologiezfe": {les attributs ici}`, donne plutôt `"eco_ecologiezfe_layer": {"eco_ecologiezfe_feature": { les attributs ici }}`; c'est très adhoc sur la migration toodego actuelle, il y aurait espoir à ce qu'ils reprennent les workflows etc. pour à terme faire disparaitre ça. (et pas exposé dans l'interface, on s'assure que personne ne viendra utiliser ça).
fpeters closed this pull request 2023-11-27 16:11:40 +01:00
All checks were successful
gitea/passerelle/pipeline/head This commit looks good

Pull request closed

Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/passerelle#331
No description provided.