From 14a85658bb6f75784b8feb57e596b42edc11be4b Mon Sep 17 00:00:00 2001 From: Elias Kohout Date: Thu, 13 Jun 2024 10:09:54 +0200 Subject: [PATCH] add time slot class --- .gitignore | 1 - lib/TimeSlot.py | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 lib/TimeSlot.py diff --git a/.gitignore b/.gitignore index 5d381cc..7e783a8 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,6 @@ dist/ downloads/ eggs/ .eggs/ -lib/ lib64/ parts/ sdist/ diff --git a/lib/TimeSlot.py b/lib/TimeSlot.py new file mode 100644 index 0000000..4943bd5 --- /dev/null +++ b/lib/TimeSlot.py @@ -0,0 +1,37 @@ +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): + self._start = d.timestamp() + + @property + def end(self): + return datetime.fromtimestamp(self._end) + + @end.setter + def end(self, d: datetime): + if d < self.start: + raise ValueError("End date must be after the start date.") + self._end = d.timestamp()