« MasterBot » : différence entre les versions

De Wikipast
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 8 : Ligne 8 :
Le [[MasterBot]] se charge de gérer et d'orchestrer les [[bots]] de wikipast. D'une part, il permet de lancer les bots de manière individuelle, en entrant des paramètres depuis un tableau de bord. D'autre part, il permet personaliser des séquences de lancement de bots, en spécifiant les paramètres (i.e. la fréquence le lancement, l'ordre, etc) de chaque bot.  
Le [[MasterBot]] se charge de gérer et d'orchestrer les [[bots]] de wikipast. D'une part, il permet de lancer les bots de manière individuelle, en entrant des paramètres depuis un tableau de bord. D'autre part, il permet personaliser des séquences de lancement de bots, en spécifiant les paramètres (i.e. la fréquence le lancement, l'ordre, etc) de chaque bot.  


==Lancer les bots individuellement==
==Implémentation et fonctionnalités==


Dans un premier temps, l'idée est d'avoir le code de chaque bot sur une page (ou section d'une page) spécifique. Cela permet de lancer les bots à partir du code disponible sur la page de chacun (ou même depuis Github). Ensuite, il suffit d'avoir un script pour lancer chacun des bots (aves les paramètres nécessaires, par ex. la page à traduire pour le translatorBot). Il faudrait pouvoir faire tourner tout cela sur une page "tableau de bord" sur wikipast ou à l'aide d'une simple application web.
L'idée est d'avoir le code de chaque bot sur une page (ou section d'une page) spécifique. Cela permet de lancer les bots à partir du code disponible sur la page de chacun (ou même depuis Github). Une simple API créée avec flask  se charge de gérer les requêtes reçues. Tous les bots et leurs informations pertinentes (nom, adresse du code, ...) sont stockés dans un dictionnaire. L'API est dotée d'une interface web graphique qui facilite l'interaction avec le bot.  


===Les scripts===
===Lancer un bot===
 
Chaque bot a son propre script qui se charge des tâches suivantes:
# Parser les paramètres de la ligne de commande
# Récupérer le code du bot (de wikipast ou de Github) (TODO)
# Lancer le bot avec les paramètres donnés


Pour lancer un bot, il suffit d'effectuer une requête GET de la manière suivante, sur un navigateur web. Il faut passer en paramètre
<nowiki>
http://localhost:5000/api/v1/bots/run?name=SummarizingBot
</nowiki>
Ceci va appeller la fonction run_bot(), qui va parser et formatter les paramètres de la requête (dans l'exemple, le nom), récupérer le code du bot à l'aide d'une function auxiliaire, et puis executer le code correspondant. Dans certains cas, il faut appeler une certaine fonction et lui donner quelques paramètres. Un message de succès s'affiche lors de la fin d'execution du bot, ainsi que tout les messages print du bot (changement du stdout). Si le bot est introuvable, un message d'erreur s'affiche.
 
===L'interface graphique===
===L'interface graphique===



Version du 26 avril 2019 à 11:27

Langue Français English

Description

Le MasterBot se charge de gérer et d'orchestrer les bots de wikipast. D'une part, il permet de lancer les bots de manière individuelle, en entrant des paramètres depuis un tableau de bord. D'autre part, il permet personaliser des séquences de lancement de bots, en spécifiant les paramètres (i.e. la fréquence le lancement, l'ordre, etc) de chaque bot.

Implémentation et fonctionnalités

L'idée est d'avoir le code de chaque bot sur une page (ou section d'une page) spécifique. Cela permet de lancer les bots à partir du code disponible sur la page de chacun (ou même depuis Github). Une simple API créée avec flask se charge de gérer les requêtes reçues. Tous les bots et leurs informations pertinentes (nom, adresse du code, ...) sont stockés dans un dictionnaire. L'API est dotée d'une interface web graphique qui facilite l'interaction avec le bot.

Lancer un bot

Pour lancer un bot, il suffit d'effectuer une requête GET de la manière suivante, sur un navigateur web. Il faut passer en paramètre

http://localhost:5000/api/v1/bots/run?name=SummarizingBot

Ceci va appeller la fonction run_bot(), qui va parser et formatter les paramètres de la requête (dans l'exemple, le nom), récupérer le code du bot à l'aide d'une function auxiliaire, et puis executer le code correspondant. Dans certains cas, il faut appeler une certaine fonction et lui donner quelques paramètres. Un message de succès s'affiche lors de la fin d'execution du bot, ainsi que tout les messages print du bot (changement du stdout). Si le bot est introuvable, un message d'erreur s'affiche.

L'interface graphique

J'ai utilisé l'interface graphique Wooey [1] qui permet de lancer des scripts Pythons. J'ai testé le tout avec TranslatorBot sur les pages de Lausanne et de David Bowie.

Wooey home.png
Wooey done.png

Code

def debug(*arg):
	print("I was called with", len(arg), "arguments:", arg)