tchapgouv / tchap-stats

Scripts et organisation des statistiques fournies à Metabase provenant des données matrix
2 stars 1 forks source link

Le nom de domaine des academies est erroné #41

Open odelcroi opened 1 year ago

odelcroi commented 1 year ago

Dans les stats on a un domain "versailles.fr" alors que ca devrait être "ac-versailles.fr"

Cela est du à une regexp qui n'est pas assez greedy : regexp_replace(user_id, '^.+-([^-:]+):.*$', '\1') as domain

peut-on trouver une regexp plus appropriée ?

Exemple de domaines : https://github.com/tchapgouv/tchap-domaines/blob/main/domains.csv

france-education-international.fr ch-albert.fr plouezec.bzh

La regexp est appliqué sur le user_id qui est généré ici et testé ici

foo@bar.baz -> foo-bar.baz

aaa-lll.gggg@beta.gouv.fr -> aaa-lll.gggg-beta.gouv.fr ttt.agent-iiii@matrix.org3 -> ttt.agent-iiii-matrix.org3

-> on ne peut pas différencier a priori le nom de domaine d'un nom composé

Idée: greedyness sur le '-'

si on est un peu plus greedy sur le nom de domaine, on pourrait avoir moins de faux positifs

exemple : -([\w.-]+): Cette version capturera toute suite de caractères alphanumériques, points, ou tirets située entre un tiret et le premier deux-points qui suit.

Ca fonctionnera si il n'y a pas de '-' dans le nom prénom du user

OK : @aaa.gggg-beta.gouv.fr:dev01.tchap.incubateur.net -> beta.gouv.fr OK : @aaa.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> ch-beta.gouv.fr KO : @aaa-lll.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> lll.gggg-ch-beta.gouv.fr KO : @aaa-lll.gggg-ch-beta.gouv.fr:dev01.tchap.incubateur.net -> lll.gggg-beta.gouv.fr

idée : utiliser la liste domains.csv pour extraire les noms de domaines

la précision serait très bonne

attention au cout à l'execution, ca peut se mettre en cache (user_id, domain)

idée : reconstruire les noms de domaine avec la lise domains.csv

à étudier