1.1 --- a/parsers/calendar.py Tue Jan 14 14:50:33 2014 +0100
1.2 +++ b/parsers/calendar.py Tue Jan 14 14:51:01 2014 +0100
1.3 @@ -2,12 +2,13 @@
1.4 """
1.5 MoinMoin - calendar (EventAggregator)
1.6
1.7 - @copyright: 2012, 2013 by Paul Boddie <paul@boddie.org.uk>
1.8 + @copyright: 2012, 2013, 2014 by Paul Boddie <paul@boddie.org.uk>
1.9 @license: GNU GPL (v2 or later), see COPYING.txt for details.
1.10 """
1.11
1.12 from MoinSupport import parseAttributes
1.13 -from EventAggregatorSupport.Formatting import formatEventsForOutputType
1.14 +from EventAggregatorSupport.Formatting import formatEventsForOutputType, \
1.15 + formatEvent
1.16 from EventAggregatorSupport.Types import parseEvents, EventCalendar
1.17 from codecs import getreader
1.18 import vCalendar
1.19 @@ -57,7 +58,13 @@
1.20 using the request.
1.21 """
1.22
1.23 - (write or self.request.write)(fmt.text(self.raw))
1.24 + # Make a Unicode-capable StringIO.
1.25 +
1.26 + f = getreader("utf-8")(StringIO(self.raw.encode("utf-8")))
1.27 + calendar = EventCalendar("", vCalendar.parse(f), {})
1.28 +
1.29 + for event in calendar.getEvents():
1.30 + formatEvent(event, self.request, fmt, write=write)
1.31
1.32 # Extra API methods.
1.33