# HG changeset patch # User Paul Boddie # Date 1505775957 -7200 # Node ID 8ccb4ffec367c3195d6eeaf0fa09bd848162db76 # Parent 5ac57f0173ab148aa97fdd5354ae17fe44394abc Moved general period selection functions into the imiptools.data module. diff -r 5ac57f0173ab -r 8ccb4ffec367 imiptools/client.py --- a/imiptools/client.py Mon Sep 18 23:55:13 2017 +0200 +++ b/imiptools/client.py Tue Sep 19 01:05:57 2017 +0200 @@ -22,6 +22,7 @@ from datetime import datetime, timedelta from imiptools.config import settings from imiptools.data import Object, check_delegation, get_address, get_uri, \ + get_recurrence_periods, \ get_window_end, is_new_object, make_freebusy, \ make_uid, to_part, uri_dict, uri_item, uri_items, \ uri_parts, uri_values @@ -267,11 +268,7 @@ "Return recurrence periods defined by 'obj'." - l = [] - for p in Client.get_periods(self, obj): - if p.origin != "DTSTART": - l.append(p) - return l + return get_recurrence_periods(Client.get_periods(self, obj)) # Store operations. diff -r 5ac57f0173ab -r 8ccb4ffec367 imiptools/data.py --- a/imiptools/data.py Mon Sep 18 23:55:13 2017 +0200 +++ b/imiptools/data.py Tue Sep 19 01:05:57 2017 +0200 @@ -1163,6 +1163,25 @@ return periods +def get_main_period(periods): + + "Return the main period from 'periods' using origin information." + + for p in periods: + if p.origin == "DTSTART": + return p + return None + +def get_recurrence_periods(periods): + + "Return recurrence periods from 'periods' using origin information." + + l = [] + for p in periods: + if p.origin != "DTSTART": + l.append(p) + return l + def get_sender_identities(mapping): """ diff -r 5ac57f0173ab -r 8ccb4ffec367 imipweb/data.py --- a/imipweb/data.py Mon Sep 18 23:55:13 2017 +0200 +++ b/imipweb/data.py Tue Sep 19 01:05:57 2017 +0200 @@ -1,7 +1,7 @@ #!/usr/bin/env python """ -Web interface data abstractions. +User interface data abstractions. Copyright (C) 2014, 2015, 2017 Paul Boddie @@ -439,19 +439,6 @@ def form_periods_from_updated_periods(updated_periods): return periods_from_updated_periods(updated_periods, form_period_from_period) -def get_main_period(periods): - for p in periods: - if p.origin == "DTSTART": - return p - return None - -def get_recurrence_periods(periods): - l = [] - for p in periods: - if p.origin != "DTSTART": - l.append(p) - return l - def periods_by_recurrence(periods): """ diff -r 5ac57f0173ab -r 8ccb4ffec367 imipweb/event.py --- a/imipweb/event.py Mon Sep 18 23:55:13 2017 +0200 +++ b/imipweb/event.py Tue Sep 19 01:05:57 2017 +0200 @@ -19,16 +19,17 @@ this program. If not, see . """ -from imiptools.data import get_uri, get_verbose_address, uri_dict, uri_items, \ +from imiptools.data import get_recurrence_periods, \ + get_uri, get_verbose_address, uri_dict, uri_items, \ uri_parts, uri_values from imiptools.dates import format_datetime, to_timezone from imiptools.mail import Messenger -from imipweb.data import event_periods_from_periods, \ +from imipweb.data import classify_operations, classify_periods, combine_periods, \ + event_periods_from_periods, \ + filter_duplicates, \ form_period_from_period, form_periods_from_updated_periods, \ - classify_operations, classify_periods, combine_periods, \ - get_recurrence_periods, \ - filter_duplicates, remove_from_collection, \ get_period_control_values, \ + remove_from_collection, \ PeriodError from imipweb.resource import DateTimeFormUtilities, FormUtilities, ResourceClientForObject