add time slot class
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -15,7 +15,6 @@ dist/
|
|||||||
downloads/
|
downloads/
|
||||||
eggs/
|
eggs/
|
||||||
.eggs/
|
.eggs/
|
||||||
lib/
|
|
||||||
lib64/
|
lib64/
|
||||||
parts/
|
parts/
|
||||||
sdist/
|
sdist/
|
||||||
|
|||||||
37
lib/TimeSlot.py
Normal file
37
lib/TimeSlot.py
Normal file
@@ -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()
|
||||||
Reference in New Issue
Block a user