1.1 --- a/imiptools/data.py Mon Mar 23 00:39:26 2015 +0100
1.2 +++ b/imiptools/data.py Tue Mar 24 01:10:28 2015 +0100
1.3 @@ -23,8 +23,8 @@
1.4 from datetime import datetime, timedelta
1.5 from email.mime.text import MIMEText
1.6 from imiptools.dates import format_datetime, get_datetime, get_duration, \
1.7 - get_freebusy_period, get_period, to_timezone, \
1.8 - to_utc_datetime
1.9 + get_freebusy_period, get_period, to_datetime, \
1.10 + to_timezone, to_utc_datetime
1.11 from imiptools.period import period_overlaps
1.12 from pytz import timezone
1.13 from vCalendar import iterwrite, parse, ParseError, to_dict, to_node
1.14 @@ -426,8 +426,12 @@
1.15 origin_value = origin and ("RDATE",) or ()
1.16 for rdate in rdates:
1.17 if isinstance(rdate, tuple):
1.18 - periods.add(rdate + origin_value)
1.19 + start, end = rdate
1.20 + start = to_datetime(start, tzid)
1.21 + end = to_datetime(end, tzid)
1.22 + periods.add((start, end) + origin_value)
1.23 else:
1.24 + rdate = to_datetime(rdate, tzid)
1.25 periods.add((rdate, rdate + duration) + origin_value)
1.26
1.27 # Return a sorted list of the periods.
1.28 @@ -442,8 +446,12 @@
1.29 if exdates:
1.30 for exdate in exdates:
1.31 if isinstance(exdate, tuple):
1.32 - period = exdate
1.33 + start, end = exdate
1.34 + start = to_datetime(start, tzid)
1.35 + end = to_datetime(end, tzid)
1.36 + period = start, end
1.37 else:
1.38 + exdate = to_datetime(exdate, tzid)
1.39 period = (exdate, exdate + duration)
1.40 i = bisect_left(periods, period)
1.41 while i < len(periods) and periods[i][:2] == period: