1.1 --- a/imiptools/period.py Fri May 15 22:09:02 2015 +0200
1.2 +++ b/imiptools/period.py Sat May 16 01:03:51 2015 +0200
1.3 @@ -21,15 +21,17 @@
1.4
1.5 from bisect import bisect_left, bisect_right, insort_left
1.6 from datetime import datetime, timedelta
1.7 -from imiptools.dates import get_datetime, get_start_of_day, to_timezone
1.8 +from imiptools.dates import get_datetime, get_datetime_attributes, \
1.9 + get_start_of_day, to_timezone
1.10
1.11 class Period:
1.12
1.13 "A basic period abstraction."
1.14
1.15 - def __init__(self, start, end=None):
1.16 + def __init__(self, start, end=None, origin=None):
1.17 self.start = start
1.18 self.end = end
1.19 + self.origin = origin
1.20
1.21 def as_tuple(self):
1.22 return self.start, self.end
1.23 @@ -49,6 +51,20 @@
1.24 def __repr__(self):
1.25 return "Period(%r, %r)" % (self.start, self.end)
1.26
1.27 + # Datetime metadata methods.
1.28 +
1.29 + def get_start(self):
1.30 + return self.start
1.31 +
1.32 + def get_end(self):
1.33 + return self.end
1.34 +
1.35 + def get_start_item(self):
1.36 + return self.start, get_datetime_attributes(self.start)
1.37 +
1.38 + def get_end_item(self):
1.39 + return self.end, get_datetime_attributes(self.end)
1.40 +
1.41 class FreeBusyPeriod(Period):
1.42
1.43 "A free/busy record abstraction."