1.1 --- a/imiptools/period.py Wed Feb 04 15:30:03 2015 +0100
1.2 +++ b/imiptools/period.py Wed Feb 04 19:13:22 2015 +0100
1.3 @@ -20,10 +20,8 @@
1.4 """
1.5
1.6 from bisect import bisect_left, insort_left
1.7 -from datetime import datetime, timedelta
1.8 -from imiptools.dates import format_datetime, get_datetime, get_start_of_day, \
1.9 - to_timezone
1.10 -from vRecurrence import get_parameters, get_rule
1.11 +from datetime import datetime
1.12 +from imiptools.dates import get_datetime, get_start_of_day, to_timezone
1.13
1.14 # Time management with datetime strings.
1.15
1.16 @@ -330,47 +328,6 @@
1.17
1.18 return start, end, uid, key
1.19
1.20 -# NOTE: Need to expose the 100 day window for recurring events in the
1.21 -# NOTE: configuration.
1.22 -
1.23 -def get_periods(obj, window_size=100):
1.24 -
1.25 - """
1.26 - Return periods for the given object 'obj', confining materialised periods
1.27 - to the given 'window_size' in days starting from the present moment.
1.28 - """
1.29 -
1.30 - dtstart = obj.get_utc_datetime("DTSTART")
1.31 - dtend = obj.get_utc_datetime("DTEND")
1.32 -
1.33 - # NOTE: Need also DURATION support.
1.34 -
1.35 - duration = dtend - dtstart
1.36 -
1.37 - # Recurrence rules create multiple instances to be checked.
1.38 - # Conflicts may only be assessed within a period defined by policy
1.39 - # for the agent, with instances outside that period being considered
1.40 - # unchecked.
1.41 -
1.42 - window_end = datetime.now() + timedelta(window_size)
1.43 -
1.44 - # NOTE: Need also RDATE and EXDATE support.
1.45 -
1.46 - rrule = obj.get_value("RRULE")
1.47 -
1.48 - if rrule:
1.49 - selector = get_rule(dtstart, rrule)
1.50 - parameters = get_parameters(rrule)
1.51 - periods = []
1.52 - for start in selector.materialise(dtstart, window_end, parameters.get("COUNT"), parameters.get("BYSETPOS")):
1.53 - start = datetime(*start, tzinfo=timezone("UTC"))
1.54 - end = start + duration
1.55 - periods.append((format_datetime(start), format_datetime(end)))
1.56 - else:
1.57 - periods = [(format_datetime(dtstart), format_datetime(dtend))]
1.58 -
1.59 - return periods
1.60 -
1.61 def remove_from_freebusy(freebusy, attendee, uid, store):
1.62
1.63 """