+#! /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')