Jeudi 14 05 2020 - lmichel/vo-grimoire GitHub Wiki
Jeudi 14/05/2020
Activités Réalisées :
- Résolution du problème concernant les requêtes
- Résolution du problème d'encodage
- Commencement de l'implémentation des threads sur le site web
Approfondissement Activités :
Résolution du problème concernant les requêtes :
Comme dit hier, les requêtes en python n'aboutissaient pas car elastic search ne retournaient aucun résultat (mails) pour chaque requête, il s'est avéré que à la suite de l'ajout de tout les mails, il y'a une période de quelques secondes où Elastic Search ne peut pas répondre à des requêtes sur ce même index, ce qui explique pourquoi ma requête fonctionnait dans une autre méthode mais pas à la suite de la création de l'index.
La solution était donc simple, utiliser time.sleep() pour retarder l'execution de ces requêtes.
Résolution du problème d'encodage :
Une fois que j'ai pu executer toutes les requêtes, un autre problème est apparu, une erreur UnicodeDecodeError sur une partie des mails de la mailing list "dm" (et non pas sur "edu" ou "datacp"), en effet, certains mails contenait des champs non "UTF-8".
J'ai donc passé une majorité du temps à essayer de convertir ces chaînes de caractères car pensant que ces chaînes étaient déjà en UTF-8 mais il s'est avéré qu'elles étaient en "Latin-1" et donc j'ai dû jouer avec les méthodes str.encode() et str.decode() pour arriver à mes fins tout en ignorant les erreurs générées par ces mails (mais toujours en les indexant)
Commencement de l'implémentation des nouveaux threads sur le site web :
Après avoir résolu tout mes problèmes en python, j'ai pu commencer l'implémentation des nouveaux threads sur le site web, j'ai donc modifié le programme pour pouvoir afficher dans la boîte modale toutes les personnes ayant répondus directement à ce mail (et donc avec leurs ids de message présents dans "responders").
Il me reste donc à améliorer ce programme pour qu'il puisse également afficher tout les mails précédents celui-ci, une fois cela fait, nous aurons tout les mails auquel le mail courant aura répondu, mais également le niveau N+1, c'est-à-dire, tout les mails ayant répondus directement au mail courant.
Il faudra voir par la suite, si il est nécessaire d'afficher plus de niveaux, et donc afficher les mails contenus dans les champs "responders" récursivement pour tout les mails N+1
Commentaires Personnels :
Le problème des requêtes à été résolu rapidement avec M.Michel, et je n'aurais pas eu l'idée du délai entre l'indexation et les requêtes si nous n'avions pas communiqué ensemble.
Le problème d'encodage était peu complexe mais très perturbant car difficile d'en voir la cause, une fois résolu, il n'y a plus de problèmes et tout fonctionne comme je l'avais prévu.
Il reste notamment à merger ce programme de test avec testPerceval pour finaliser cette fonctionnalité
Objectifs :
- Continuer l'implémentation des nouveaux threads sur le site web
- Peut-être commencer en parallèle la création du programme python qui executé sur le crontab des serveurs de M.Michel