« Chronobot » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 14 : | Ligne 14 : | ||
* ''event_not_in_page.py'' gère les doublons | * ''event_not_in_page.py'' gère les doublons | ||
=Critiques= | =Critiques et faiblesses du bot= | ||
* Optimisation du code (plusieurs minutes pour s'exéctuer sur toutes les pages.) | * Optimisation du code (plusieurs minutes pour s'exéctuer sur toutes les pages.) | ||
* | * Dates mal-écrites (par exemple inversion mois-jour pas prise en compte) | ||
* Si une année a déjà été crée avant notre bot et une phrase a été ajoutée, par exemeple "Grande année" redigirigée vers "1995" comportait une phrase commançant par "Grande année". Pour résoudre ce problème, deux solutions sont enbisageables : la première, assez radicale, est d'effacer la ligne en question dans la page Wikpast. La seconde (celle choisie, plus douce) est | |||
* Gestion des doublons : pourrait être amélioré dans la comparaison de deux événements similaires. Actuellement, seules deux événements écrits exactement pareils ne sont pas dédoublés (par la fonction ''event_not_in_page.py''), mais on pourrait imaginer qu'un événement du type [[Mariage]] qui serait écrit comme "A se marie avec B" dans la page de A et "B ser marie avec B" dans la page de B, et qui serait donc relevé deux fois. | * Gestion des doublons : pourrait être amélioré dans la comparaison de deux événements similaires. Actuellement, seules deux événements écrits exactement pareils ne sont pas dédoublés (par la fonction ''event_not_in_page.py''), mais on pourrait imaginer qu'un événement du type [[Mariage]] qui serait écrit comme "A se marie avec B" dans la page de A et "B ser marie avec B" dans la page de B, et qui serait donc relevé deux fois. |
Version du 16 mai 2017 à 12:58
Chronobot est un bot programmé en langage Python et qui agit sur des pages Wikipast. Il permet de regrouper tous les événements qui se sont passés en une année dans une même page
Fonctionnement
Chronobot va d'abord effectuer un scan sur l'ensemble des pages biographiques crées par les élèves du cours "Humanités Digitales" (2017). Il effectue ensuite un scan sur tous les événements relevés dans la page et en stocke la date (sous forme AAAA.MM.JJ) et la description dans une liste. Une fois cette liste en main, il crée une page pour chaque jour différent. Pour des raisons pratiques, il est plus logique de n'avoir qu'une seule page par année avec tous les événements relevés durant cette année classé chronologiquement. Pour ce faire, au lieu d'agir directement sur l'url de la page, Chronobot redirige chaque lien d'un jour vers l'url de l'année correspondante. Enfin, il y écrit l'événement dans l'ordre chronologique.La gestion des doublons est résolue ultérieurement.
Liste des fonctions
- select_page.py parcourt les différentes pages
- recherchedates.py prend en argument une page donnée et en sort une liste année/événement
- modify_links.py modifie toutes les pages des dates pour qu'elles soient redirigées ver la page de l'année
- place_evenement.py prend une année et un événement et renvoie le texte de la page avec l'événement mis à la bonne place
- create_new_site.py crée une page Wikipast avec le contenu donné
- event_not_in_page.py gère les doublons
Critiques et faiblesses du bot
- Optimisation du code (plusieurs minutes pour s'exéctuer sur toutes les pages.)
- Dates mal-écrites (par exemple inversion mois-jour pas prise en compte)
- Si une année a déjà été crée avant notre bot et une phrase a été ajoutée, par exemeple "Grande année" redigirigée vers "1995" comportait une phrase commançant par "Grande année". Pour résoudre ce problème, deux solutions sont enbisageables : la première, assez radicale, est d'effacer la ligne en question dans la page Wikpast. La seconde (celle choisie, plus douce) est
- Gestion des doublons : pourrait être amélioré dans la comparaison de deux événements similaires. Actuellement, seules deux événements écrits exactement pareils ne sont pas dédoublés (par la fonction event_not_in_page.py), mais on pourrait imaginer qu'un événement du type Mariage qui serait écrit comme "A se marie avec B" dans la page de A et "B ser marie avec B" dans la page de B, et qui serait donc relevé deux fois.