1.1 --- a/tools/make_freebusy.py Thu Feb 12 23:40:06 2015 +0100
1.2 +++ b/tools/make_freebusy.py Thu Feb 12 23:40:46 2015 +0100
1.3 @@ -1,6 +1,6 @@
1.4 #!/usr/bin/env python
1.5
1.6 -from imiptools.data import get_freebusy_period, get_datetime_item, get_value, get_value_map, parse_object
1.7 +from imiptools.data import get_freebusy_period, get_datetime_item, get_utc_datetime, get_value, get_value_map
1.8 from imiptools.dates import format_datetime, get_default_timezone
1.9 from imiptools.profile import Preferences
1.10 from imip_store import FileStore, FilePublisher
1.11 @@ -18,15 +18,20 @@
1.12 s = FileStore()
1.13 p = FilePublisher()
1.14
1.15 -events = set(s.get_events(user))
1.16 +events = s.get_events(user)
1.17 +
1.18 +all_events = set()
1.19 +for uid in events:
1.20 + all_events.add((uid, None))
1.21 + all_events.update([(uid, recurrenceid) for recurrenceid in s.get_recurrences(user, uid)])
1.22 +
1.23 cancelled = s.get_cancellations(user) or []
1.24 -
1.25 -events.difference_update(cancelled)
1.26 +all_events.difference_update(cancelled)
1.27
1.28 objs = []
1.29 -for i in events:
1.30 - print >>sys.stderr, i
1.31 - objs.append(parse_object(s.get_event(user, i), "utf-8"))
1.32 +for uid, recurrenceid in all_events:
1.33 + print >>sys.stderr, uid, recurrenceid
1.34 + objs.append(s.get_event(user, uid, recurrenceid))
1.35
1.36 fb = []
1.37 for obj in objs:
1.38 @@ -48,7 +53,9 @@
1.39 fb.append((format_datetime(dtstart),
1.40 format_datetime(dtend),
1.41 get_value(details, "UID"),
1.42 - get_value(details, "TRANSP")))
1.43 + get_value(details, "TRANSP") or "OPAQUE",
1.44 + format_datetime(get_utc_datetime(details, "RECURRENCE-ID")) or "",
1.45 + ))
1.46 break
1.47
1.48 fb.sort()