1 """
2 MoinMoin - SecondLife Chat Parser version 0.1
3
4 @copyright: 2006 by Thilo Pfennig
5 based on IRC parser by Thomas Waldmann (2004)
6 @license: GNU GPL, see COPYING for details.
7 """
8
9 import re
10 from MoinMoin import wikiutil
11
12
13 class Parser:
14 """
15 Send Secondlife Chat log in a table
16 """
17 extensions = ['.sl']
18 Dependencies = []
19
20 def __init__(self, raw, request, **kw):
21 self.raw = raw
22 self.request = request
23 self.form = request.form
24 self._ = request.getText
25 self.out = kw.get('out', request)
26
27
28 def format(self, formatter):
29 lines = self.raw.split('\n')
30
31 pattern = re.compile(r"""
32 (?P<nick>.*?): # Nick
33 \s+ # Space between the nick and message
34 (?P<msg>.*) # Message
35 """, re.VERBOSE + re.UNICODE)
36 self.out.write(formatter.table(1))
37 for line in lines:
38 match = pattern.match(line)
39 if match:
40 self.out.write(formatter.table_row(1))
41 for g in ('nick', 'msg'):
42 self.out.write(formatter.table_cell(1))
43 self.out.write(formatter.text(match.group(g) or ''))
44 self.out.write(formatter.table_cell(0))
45 self.out.write(formatter.table_row(0))
46 self.out.write(formatter.table(0))
MoinMoin: parser/slchat.py (last edited 2007-10-29 19:07:19 by localhost)