in auto_sizing/size_calculation.py [0:0]
def _validate_requested_timelimits(self, current_date: datetime) -> Optional[TimeLimits]:
"""
Checks if requested dates of data are available and not in the future.
Returns a TimeLimits instance if possible; else, returns None.
"""
last_date_full_data = datetime.strptime(self.config.start_date, "%Y-%m-%d") + timedelta(
days=(self.config.num_dates_enrollment + self.config.analysis_length - 1)
)
if last_date_full_data.date() >= current_date:
raise errors.AnalysisDatesNotAvailableException(self.config.target_slug)
return TimeLimits.for_single_analysis_window(
self.config.start_date,
last_date_full_data.strftime("%Y-%m-%d"),
0,
self.config.analysis_length,
self.config.num_dates_enrollment,
)