restructuring
This commit is contained in:
44
model/TimeSlot.py
Normal file
44
model/TimeSlot.py
Normal file
@@ -0,0 +1,44 @@
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
class TimeSlot():
|
||||
|
||||
def __init__(self, name: str, start: datetime = datetime.now(), end: datetime = None):
|
||||
self.name = name
|
||||
self.start = start
|
||||
if end:
|
||||
self.end = end
|
||||
self._creation_time = datetime.now().timestamp()
|
||||
|
||||
@property
|
||||
def name(self):
|
||||
return self._name
|
||||
|
||||
@name.setter
|
||||
def name(self, n: str):
|
||||
self._name = n
|
||||
|
||||
@property
|
||||
def start(self):
|
||||
return datetime.fromtimestamp(self._start)
|
||||
|
||||
@start.setter
|
||||
def start(self, d: datetime):
|
||||
_d = d.replace(second=0, microsecond=0)
|
||||
self._start = _d.timestamp()
|
||||
|
||||
@property
|
||||
def end(self):
|
||||
if "_end" in self.__dict__:
|
||||
return datetime.fromtimestamp(self._end)
|
||||
return None
|
||||
|
||||
@end.setter
|
||||
def end(self, d: datetime):
|
||||
_d = d.replace(second=0, microsecond=0)
|
||||
if _d < self.start:
|
||||
raise ValueError("End date must be after the start date.")
|
||||
self._end = _d.timestamp()
|
||||
|
||||
def end_now(self):
|
||||
self.end = datetime.now()
|
||||
Reference in New Issue
Block a user