コード例 #1
0
    def get_free_periods(self):
        total_time = Period(self.opening_time, self.closing_time)

        all_blocked_periods = list(
            map(lambda a: a.get_period(), self.appointments))

        return total_time.subtract(all_blocked_periods)
コード例 #2
0
    def get_free_periods_for_date(self, date):

        weekday = date.weekday()

        opening_times = self.open_periods[weekday]

        # todo extend for multiple opening periods
        opening_time = opening_times[0]

        open = datetime.combine(date, opening_time.start)
        close = datetime.combine(date, opening_time.end)

        total_time = Period(open, close)

        print(total_time)

        all_blocked_periods = list(
            map(lambda a: a.get_period(), self.appointments))

        return total_time.subtract(all_blocked_periods)