1.1 --- a/imipweb/data.py Sat Oct 17 23:09:07 2015 +0200
1.2 +++ b/imipweb/data.py Sat Oct 17 23:49:28 2015 +0200
1.3 @@ -35,7 +35,7 @@
1.4 intended to represent information obtained from an iCalendar resource.
1.5 """
1.6
1.7 - def __init__(self, start, end, tzid=None, origin=None, start_attr=None, end_attr=None, form_start=None, form_end=None):
1.8 + def __init__(self, start, end, tzid=None, origin=None, start_attr=None, end_attr=None, form_start=None, form_end=None, replaced=False):
1.9
1.10 """
1.11 Initialise a period with the given 'start' and 'end' datetimes, together
1.12 @@ -47,9 +47,10 @@
1.13 RecurringPeriod.__init__(self, start, end, tzid, origin, start_attr, end_attr)
1.14 self.form_start = form_start
1.15 self.form_end = form_end
1.16 + self.replaced = replaced
1.17
1.18 def as_tuple(self):
1.19 - return self.start, self.end, self.tzid, self.origin, self.start_attr, self.end_attr, self.form_start, self.form_end
1.20 + return self.start, self.end, self.tzid, self.origin, self.start_attr, self.end_attr, self.form_start, self.form_end, self.replaced
1.21
1.22 def __repr__(self):
1.23 return "EventPeriod%r" % (self.as_tuple(),)
1.24 @@ -82,7 +83,8 @@
1.25 isinstance(self.end, datetime) or self.get_start() != self.get_end() - timedelta(1),
1.26 isinstance(self.start, datetime) or isinstance(self.end, datetime),
1.27 self.tzid,
1.28 - self.origin
1.29 + self.origin,
1.30 + self.replaced
1.31 )
1.32
1.33 def get_form_date(self, dt, attr=None):
1.34 @@ -99,16 +101,17 @@
1.35
1.36 "A period whose information originates from a form."
1.37
1.38 - def __init__(self, start, end, end_enabled=True, times_enabled=True, tzid=None, origin=None):
1.39 + def __init__(self, start, end, end_enabled=True, times_enabled=True, tzid=None, origin=None, replaced=False):
1.40 self.start = start
1.41 self.end = end
1.42 self.end_enabled = end_enabled
1.43 self.times_enabled = times_enabled
1.44 self.tzid = tzid
1.45 self.origin = origin
1.46 + self.replaced = replaced
1.47
1.48 def as_tuple(self):
1.49 - return self.start, self.end, self.end_enabled, self.times_enabled, self.tzid, self.origin
1.50 + return self.start, self.end, self.end_enabled, self.times_enabled, self.tzid, self.origin, self.replaced
1.51
1.52 def __repr__(self):
1.53 return "FormPeriod%r" % (self.as_tuple(),)
1.54 @@ -135,7 +138,7 @@
1.55 index is not None and ("dtend", index) or "dtend"
1.56 ])
1.57
1.58 - return EventPeriod(dtstart, end_date_to_calendar(dtend), self.tzid, self.origin, dtstart_attr, dtend_attr, self.start, self.end)
1.59 + return EventPeriod(dtstart, end_date_to_calendar(dtend), self.tzid, self.origin, dtstart_attr, dtend_attr, self.start, self.end, self.replaced)
1.60
1.61 # Period data methods.
1.62