1.1 --- a/imiptools/data.py Sun May 17 22:57:31 2015 +0200
1.2 +++ b/imiptools/data.py Mon May 18 00:26:37 2015 +0200
1.3 @@ -20,7 +20,7 @@
1.4 """
1.5
1.6 from bisect import bisect_left
1.7 -from datetime import datetime, timedelta
1.8 +from datetime import date, datetime, timedelta
1.9 from email.mime.text import MIMEText
1.10 from imiptools.dates import format_datetime, get_datetime, get_duration, \
1.11 get_freebusy_period, get_period, get_tzid, \
1.12 @@ -127,6 +127,8 @@
1.13 return get_periods(self, tzid, end)
1.14
1.15 def get_tzid(self):
1.16 + if not self.has_key("DTSTART"):
1.17 + return None
1.18 dtstart, dtstart_attr = self.get_datetime_item("DTSTART")
1.19 dtend, dtend_attr = self.get_datetime_item("DTEND")
1.20 return get_tzid(dtstart_attr, dtend_attr)
1.21 @@ -439,7 +441,8 @@
1.22 inclusive = True
1.23
1.24 for start in selector.materialise(dtstart, window_end, parameters.get("COUNT"), parameters.get("BYSETPOS"), inclusive):
1.25 - start = to_timezone(datetime(*start), tzid)
1.26 + create = len(start) == 3 and date or datetime
1.27 + start = to_timezone(create(*start), tzid)
1.28 end = start + duration
1.29 periods.append(RecurringPeriod(start, end, tzid, "RRULE"))
1.30