Demande #698
ferméoutil de synthèse de la revue hebdo
100%
Description
La revue hebdomadaire d'activité est synthétisée à l'aide d'un script python (voir https://agir.april.org/issues/135). Malheureusement, c'est un outil compliqué à utiliser pour les non-geeks et surtout, cela ne fonctionne qu'avec un format de logs irc particulier.
Il pourrait être utile de faire en sorte que l'outil soit plus facilement utilisable par le conducteur de la revue, éventuellement en passant par un bot.
Mis à jour par Vincent-Xavier JUMEL il y a environ 13 ans
Ouais, ça traine dans les cart cerveaux depuis longtemps, faut juste qu'on se sorte les mains des poches.
Mis à jour par François Poulain il y a environ 13 ans
- Statut changé de Nouveau à En cours de traitement
From: François Poulain <fpoulain@metrodore.fr> To: xxx Subject: Re: Robot IRC réunion hebdo Date: Fri, 2 Sep 2011 15:55:13 +0200 X-Mailer: Claws Mail 3.7.6 (GTK+ 2.20.1; x86_64-pc-linux-gnu) Le Fri, 2 Sep 2011 15:42:28 +0200, xxx a écrit : > Hello ! > > Un motivé =) Merci. :) La revue hebdo est documentée ici : http://www.april.org/revues-hebdomadaires-april L'essentiel est ici : http://www.april.org/revues-hebdomadaires-april Un script que j'ai codé débordélise les logs pour structurer la synthèse : https://redmine.april.org/attachments/download/88/revue.py Le script est un peu root (les GUI user friendly, c'est pas mon truc et je n'aime pas sortir de mon shell sans que ce soit nécessaire. :) ). Surtout, le principal défaut de ce truc est qu'il est sensible à la syntaxe des logs, et que le filtrage des logs est pénible du fait que c'est une syntaxe assez peu structurée. Botifier ça résoudrait pas mal de soucis. J'ai déjà codé des bots avec irclib, c'est très simple d'usage. Un exemple con :#!/usr/bin/python # -*- coding:utf8 -*- import irclib # Lecture et création du dictionnaire #Informations de connection network = 'irc.freenode.net' port = 6667 channel = '#april' nick = 'Lurker_de_salon' name = 'Lurker_de_salon' #Creer un Objet IRC irc = irclib.IRC() # Création des intercepteurs def handlePubMessage(connection, event): author = event.source().split('!')[0] sentence = event.arguments()[0] print "message public :", "<"+author+">", sentence # Connection des signaux irc.add_global_handler ('pubmsg', handlePubMessage) irc.add_global_handler ('action', handlePubMessage) #Créer un objet serveur, puis se connecter et rejoindre le canal server = irc.server() server.connect(network, port, nick, ircname = name) server.join(channel) #Sauter à une boucle infinie #irc.notice(server,'') # while 1: # server.privmsg(channel, ' blah blah') # time.sleep(2**6) irc.process_forever()
Donc tout est sur pieds ou presque, il reste juste à finir. Parmi ce
qu'il faut gérer : * coder comment définir le meneur de la revue ; * coder comment mettre fin à la revue ; * une fois la revue terminée, enregistrer ça dans un fichier temporaire
et l'ouvrir avec un éditeur de texte.
Je crois que c'est tout.
François
Mis à jour par Nicolas Vinot il y a environ 13 ans
J'ai fini une première version du robot.
Les sources sont disponibles ici (https://bitbucket.org/aeris/hebdobot), sous licence GPLv3 =)
Pour le téléchargement, c'est par ici : https://bitbucket.org/aeris/hebdobot/downloads/hebdobot-1.0.0.zip
Le seul prérequis est de disposer d'une JVM ?6.0.
Globalement, j'ai repris les commandes déjà existantes du script python, avec 3 nouvelles commandes :
— !debut, pour commencer la réunion
— # titre sujet, pour démarrer un nouveau sujet individuel
— ## titre sujet, pour démarrer un nouveau sujet collectif
— % du texte, un commentaire, non pris en compte dans la revue
— !courant, pour afficher le sujet actuel
— !fin, pour mettre fin à la réunion et générer le PV
Le robot garde en mémoire tout ce qui se dit entre le !debut et le !fin, et génère le log complet à la fin.
J'ai aussi conservé la possibilité d'associer les pseudos IRC aux noms réels, via un fichier XML.
Au niveau du conducteur de la réunion, le premier qui lance le !debut est le seul à pouvoir changer les sujets et clôturer la réunion.
Prévu dans une prochaine version :
— Alerte 30min, 15min et 5min avant le début de la réunion
— Publication automatique sur le Redmine
— Ajout d'association nick/noms directement depuis IRC
Mis à jour par François Poulain il y a environ 13 ans
Merci pour ce travail.
Si je comprends, le %
sert à insérer des entrées ? Avant ça désignait des commentaires à ignorer, tout les messages étaient des entrées. Je n'ai pas réussi à générer de synthèse, j'ai pris un
$ ./hebdobot.sh java.lang.NullPointerException at fr.imirhil.april.hebdobot.Meeting.toString(Meeting.java:62) at fr.imirhil.april.hebdobot.Bot.end(Bot.java:91) at fr.imirhil.april.hebdobot.Bot.onMessage(Bot.java:43) at org.jibble.pircbot.PircBot.handleLine(PircBot.java:990) at org.jibble.pircbot.InputThread.run(InputThread.java:92)
Voici le log correspondant :
(10:04:30) Hebdobot [~PircBot@lib59-3-82-233-189-211.fbx.proxad.net] a rejoint le salon. (10:04:35) _PoLuX_: salut eseyman (10:04:51) _PoLuX_: !debut (10:04:52) Hebdobot: Début de la réunion hebdo (10:04:54) _PoLuX_: #toto (10:04:54) Hebdobot: Début topic individuel : toto (10:04:57) _PoLuX_: toto (10:05:01) _PoLuX_: !fin (10:05:01) Hebdobot: Fin de la réunion hebdo
Sinon, niveau hébergement, est-ce que les termes d'usage de BitBucket en font une forge recommandable ?
Mis à jour par Anonyme il y a environ 13 ans
Ok, effectivement, j'ai inversé commentaire et pas commentaire.
Le gros null pointer qui tache arrive quand un sujet individuel n'a pas d'entrée =)
Les 2 problèmes sont corrigés en version 1.0.1 : https://bitbucket.org/aeris/hebdobot/downloads/hebdobot-1.0.1.zip
Pour la forge, Bitbucket est la seule forge « ouverte » qui gère Mercurial, et elle est gérée par Atlassian, qui est à mon avis loin d'être mauvais en terme d'opensource et de libre.
Les CGU me semblent aussi suffisament sérieuses, en particulier le « Each party retains all right, title and interest in its data, information and intellectual property rights, and nothing in this Agreement is intended to transfer or diminish such rights. ».
Après, si vous avez mieux / libre / opensource, je suis moi-même preneur =).
Mis à jour par Anonyme il y a environ 13 ans
Il y a quelques bugs dont :
- l'encodage de la synthèse qui devrait être en utf-8
- pour le conducteur de la revue le robot met dans le log 2 fois les changements d'état, genre 1/ Actions passées ou en cours
Concernant le format de la sunthèse ce serait bien d'avoir exactement le même format que les synthèse générées par le script actuel (comme https://agir.april.org/attachments/220/20110916-log-irc-revue-hebdomadaire.txt).
Il faudrait aussi avoir la justification/retour à la ligne des lignes longues.
Ajouter automatiquement la date du jour sous "Revue de la semaine en cours".
Mis à jour par Nicolas Vinot il y a environ 13 ans
J'ai fait les corrections sur la nouvelle version
Apparemment, ça a l'air de fonctionner correctement depuis 15 jours.
Quand j'ai un moment, il faut que je traite encore l'interface avec identi.ca.
Mis à jour par Loïc Dachary il y a environ 12 ans
- Catégorie mis à Task
- Difficulté mis à 2 Facile
Mis à jour par Loïc Dachary il y a environ 12 ans
- Difficulté changé de 2 Facile à 3 Moyen
Mis à jour par Loïc Dachary il y a environ 12 ans
- Statut changé de En cours de traitement à Un jour peut-être
- Difficulté changé de 3 Moyen à 6 Très difficile
Mettre en ligne, maintenir et monitorer un logiciel original aussi petit qu'il soit est une tache difficile.
Mis à jour par Benjamin Drieu il y a environ 8 ans
- Description mis à jour (diff)
- Statut changé de Un jour peut-être à Résolu
Résolu par hebdobot
Mis à jour par Benjamin Drieu il y a presque 7 ans
- Projet changé de Admins à Hebdobot
- Catégorie
Tasksupprimé - Version cible
Backlogsupprimé
Mis à jour par Christian P. Momon il y a presque 5 ans
- Assigné à mis à Christian P. Momon