1.1 --- a/parsers/calendar.py Tue Jan 14 16:39:26 2014 +0100
1.2 +++ b/parsers/calendar.py Tue Jan 14 23:55:27 2014 +0100
1.3 @@ -9,14 +9,8 @@
1.4 from MoinSupport import parseAttributes, RawParser
1.5 from EventAggregatorSupport.Formatting import formatEventsForOutputType, \
1.6 formatEvent
1.7 -from EventAggregatorSupport.Types import parseEvents, EventCalendar
1.8 -from codecs import getreader
1.9 -import vCalendar
1.10 -
1.11 -try:
1.12 - from cStringIO import StringIO
1.13 -except ImportError:
1.14 - from StringIO import StringIO
1.15 +from EventAggregatorSupport.Types import parseEventsInPage, EventPage, \
1.16 + parseEventsInCalendar
1.17
1.18 Dependencies = ["pages"]
1.19
1.20 @@ -58,12 +52,7 @@
1.21 using the request.
1.22 """
1.23
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 + for event in parseEventsInCalendar(self.raw):
1.31 formatEvent(event, self.request, fmt, write=write, parser_cls=RawParser)
1.32
1.33 # Extra API methods.
1.34 @@ -81,11 +70,8 @@
1.35 if mimetype == "text/calendar":
1.36 (write or request.write)(self.raw)
1.37 else:
1.38 - # Make a Unicode-capable StringIO.
1.39 -
1.40 - f = getreader("utf-8")(StringIO(self.raw.encode("utf-8")))
1.41 - calendar = EventCalendar("", vCalendar.parse(f), {})
1.42 - formatEventsForOutputType(calendar.getEvents(), self.request, mimetype, write=write)
1.43 + events = parseEventsInCalendar(self.raw)
1.44 + formatEventsForOutputType(events, self.request, mimetype, write=write)
1.45
1.46 # Class methods.
1.47