From: Progfou Date: Tue, 23 Aug 2011 17:16:01 +0000 (+0700) Subject: Outil de conversion de journal Empathy vers un journal IRC dans MoinMoin. X-Git-Url: http://git.auf.org/?p=progfou.git;a=commitdiff_plain;h=10e8b1e06a57288ece622654fbfe362556f834af Outil de conversion de journal Empathy vers un journal IRC dans MoinMoin. --- diff --git a/empathy/empathy-log2moin.py b/empathy/empathy-log2moin.py new file mode 100755 index 0000000..0de70f1 --- /dev/null +++ b/empathy/empathy-log2moin.py @@ -0,0 +1,52 @@ +#! /usr/bin/env python +# -*- coding: UTF-8 -*- +# Auteur: Jean Christophe André +# Licence: Public Domain +# Created: 2008-05-30 + +from sys import argv +from xml.dom import minidom +from time import * + +aliases = { + u'Jean Christophe André': u'progfou', +} + +result = '' +last_day = False + +xmldoc = minidom.parse(argv[1]).documentElement +for message in xmldoc.getElementsByTagName('message'): + # récupérer l'heure + time = strptime(message.getAttribute('time'), '%Y%m%dT%H:%M:%S') + timestamp = mktime(time) + 7 * 3600 + time = localtime(timestamp) + + # récupérer l'autheur + name = message.getAttribute('name') + if aliases.has_key(name): + name = aliases[name] + + # récupérer le texte + text = '' + for child in message.childNodes: + child_text = message.firstChild.wholeText + child_text = child_text.replace(u'\uFEFF','') + child_text = child_text.replace("\n","\n <> ") + text += child_text + + # construire la ligne de log IRC + if message.getAttribute('type') == 'normal': + day = strftime("%d/%m", time) + if day != last_day: + if last_day: + result += "}}}\n" + result += "== " + day + " ==\n{{{#!irc\n" + last_day = day + result += strftime('%H:%M', time) + result += ' <' + name + '> ' + text + "\n" + elif message.getAttribute('type') == 'action': + result += '* <' + name + '> ' + text + "\n" + +result += "}}}\n" +print result.encode('utf-8')