Fix OrgTime and TimeRange duraction getters.

This commit is contained in:
Sergio Martínez Portela 2021-01-18 10:33:34 +01:00
parent 2ca52c339d
commit 88e709f7db

View File

@ -587,13 +587,11 @@ class TimeRange:
@property @property
def start(self) -> datetime: def start(self) -> datetime:
st = self.start_time return self.start_time.time.to_datetime()
return datetime(st.year, st.month, st.day, st.hour or 0, st.minute or 0)
@property @property
def end(self) -> datetime: def end(self) -> datetime:
et = self.end_time return self.end_time.time.to_datetime()
return datetime(et.year, et.month, et.day, et.hour or 0, et.minute or 0)
def parse_time(value: str) -> Union[None, TimeRange, OrgTime]: def parse_time(value: str) -> Union[None, TimeRange, OrgTime]:
@ -624,6 +622,13 @@ class OrgTime:
self.time = ts self.time = ts
self.end_time = end_time self.end_time = end_time
@property
def duration(self):
if self.end_time is None:
return timedelta() # No duration
else:
return self.end_time.to_datetime() - self.time.to_datetime()
def to_raw(self): def to_raw(self):
return timestamp_to_string(self.time, self.end_time) return timestamp_to_string(self.time, self.end_time)