def _validate_requested_timelimits()

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,
        )