1.1 --- a/imiptools/client.py Mon Sep 18 23:55:13 2017 +0200
1.2 +++ b/imiptools/client.py Tue Sep 19 01:05:57 2017 +0200
1.3 @@ -22,6 +22,7 @@
1.4 from datetime import datetime, timedelta
1.5 from imiptools.config import settings
1.6 from imiptools.data import Object, check_delegation, get_address, get_uri, \
1.7 + get_recurrence_periods, \
1.8 get_window_end, is_new_object, make_freebusy, \
1.9 make_uid, to_part, uri_dict, uri_item, uri_items, \
1.10 uri_parts, uri_values
1.11 @@ -267,11 +268,7 @@
1.12
1.13 "Return recurrence periods defined by 'obj'."
1.14
1.15 - l = []
1.16 - for p in Client.get_periods(self, obj):
1.17 - if p.origin != "DTSTART":
1.18 - l.append(p)
1.19 - return l
1.20 + return get_recurrence_periods(Client.get_periods(self, obj))
1.21
1.22 # Store operations.
1.23
2.1 --- a/imiptools/data.py Mon Sep 18 23:55:13 2017 +0200
2.2 +++ b/imiptools/data.py Tue Sep 19 01:05:57 2017 +0200
2.3 @@ -1163,6 +1163,25 @@
2.4
2.5 return periods
2.6
2.7 +def get_main_period(periods):
2.8 +
2.9 + "Return the main period from 'periods' using origin information."
2.10 +
2.11 + for p in periods:
2.12 + if p.origin == "DTSTART":
2.13 + return p
2.14 + return None
2.15 +
2.16 +def get_recurrence_periods(periods):
2.17 +
2.18 + "Return recurrence periods from 'periods' using origin information."
2.19 +
2.20 + l = []
2.21 + for p in periods:
2.22 + if p.origin != "DTSTART":
2.23 + l.append(p)
2.24 + return l
2.25 +
2.26 def get_sender_identities(mapping):
2.27
2.28 """
3.1 --- a/imipweb/data.py Mon Sep 18 23:55:13 2017 +0200
3.2 +++ b/imipweb/data.py Tue Sep 19 01:05:57 2017 +0200
3.3 @@ -1,7 +1,7 @@
3.4 #!/usr/bin/env python
3.5
3.6 """
3.7 -Web interface data abstractions.
3.8 +User interface data abstractions.
3.9
3.10 Copyright (C) 2014, 2015, 2017 Paul Boddie <paul@boddie.org.uk>
3.11
3.12 @@ -439,19 +439,6 @@
3.13 def form_periods_from_updated_periods(updated_periods):
3.14 return periods_from_updated_periods(updated_periods, form_period_from_period)
3.15
3.16 -def get_main_period(periods):
3.17 - for p in periods:
3.18 - if p.origin == "DTSTART":
3.19 - return p
3.20 - return None
3.21 -
3.22 -def get_recurrence_periods(periods):
3.23 - l = []
3.24 - for p in periods:
3.25 - if p.origin != "DTSTART":
3.26 - l.append(p)
3.27 - return l
3.28 -
3.29 def periods_by_recurrence(periods):
3.30
3.31 """
4.1 --- a/imipweb/event.py Mon Sep 18 23:55:13 2017 +0200
4.2 +++ b/imipweb/event.py Tue Sep 19 01:05:57 2017 +0200
4.3 @@ -19,16 +19,17 @@
4.4 this program. If not, see <http://www.gnu.org/licenses/>.
4.5 """
4.6
4.7 -from imiptools.data import get_uri, get_verbose_address, uri_dict, uri_items, \
4.8 +from imiptools.data import get_recurrence_periods, \
4.9 + get_uri, get_verbose_address, uri_dict, uri_items, \
4.10 uri_parts, uri_values
4.11 from imiptools.dates import format_datetime, to_timezone
4.12 from imiptools.mail import Messenger
4.13 -from imipweb.data import event_periods_from_periods, \
4.14 +from imipweb.data import classify_operations, classify_periods, combine_periods, \
4.15 + event_periods_from_periods, \
4.16 + filter_duplicates, \
4.17 form_period_from_period, form_periods_from_updated_periods, \
4.18 - classify_operations, classify_periods, combine_periods, \
4.19 - get_recurrence_periods, \
4.20 - filter_duplicates, remove_from_collection, \
4.21 get_period_control_values, \
4.22 + remove_from_collection, \
4.23 PeriodError
4.24 from imipweb.resource import DateTimeFormUtilities, FormUtilities, ResourceClientForObject
4.25