quite a bit of development around get rates input handling
This commit is contained in:
parent
46988352ca
commit
4f81ac2e62
8 changed files with 199 additions and 20 deletions
42
xexe/utils.py
Normal file
42
xexe/utils.py
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
import datetime
|
||||
|
||||
|
||||
class DateRange:
|
||||
|
||||
def __init__(self, start_date: datetime.date, end_date: datetime.date):
|
||||
if type(start_date) != datetime.date or type(end_date) != datetime.date:
|
||||
raise TypeError("start_date and end_date must be date objects.")
|
||||
|
||||
if start_date > end_date:
|
||||
raise ValueError("start_date can't be after end_date.")
|
||||
|
||||
self._start_date = start_date
|
||||
self._end_date = end_date
|
||||
|
||||
@property
|
||||
def start_date(self):
|
||||
return self._start_date
|
||||
|
||||
@start_date.setter
|
||||
def start_date(self, value: datetime.date):
|
||||
if type(value) != datetime.date:
|
||||
raise TypeError("start_date must be a date object.")
|
||||
|
||||
if value > self._end_date:
|
||||
raise ValueError("start_date can't be after end_date.")
|
||||
|
||||
self._start_date = value
|
||||
|
||||
@property
|
||||
def end_date(self):
|
||||
return self._end_date
|
||||
|
||||
@end_date.setter
|
||||
def end_date(self, value: datetime.date):
|
||||
if type(value) != datetime.date:
|
||||
raise TypeError("end_date must be a date object.")
|
||||
|
||||
if value < self._start_date:
|
||||
raise ValueError("end_date can't be before start_date.")
|
||||
|
||||
self._end_date = value
|
||||
Loading…
Add table
Add a link
Reference in a new issue