Cette page présente un « sale script écrit vite fait » pour convertir les logs XML de Empathy vers le format de minutes IRC utilisé par l'analyseur de MoinMoin. {{{{#!python #! /usr/bin/env python # -*- coding: UTF-8 -*- # Auteur: Jean Christophe André # Licence: Public Domain 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') }}}}