25 lines
860 B
Python
25 lines
860 B
Python
import pendulum
|
|
from models import BookingFilter, Club
|
|
from pendulum import DateTime
|
|
|
|
from tests.fixtures import a_booking_filter
|
|
|
|
|
|
def retrieve_booking_datetime(
|
|
a_booking_filter: BookingFilter, a_club: Club
|
|
) -> DateTime:
|
|
"""
|
|
Utility to retrieve the booking datetime from the booking filter and the club
|
|
|
|
:param a_booking_filter: the booking filter that contains the date to book
|
|
:param a_club: the club which has the number of days before the date and the booking time
|
|
"""
|
|
booking_opening = a_club.booking_platform.booking_opening
|
|
opening_time = pendulum.parse(booking_opening.opening_time)
|
|
booking_hour = opening_time.hour
|
|
booking_minute = opening_time.minute
|
|
|
|
date_to_book = a_booking_filter.date
|
|
return date_to_book.subtract(days=booking_opening.days_before).at(
|
|
booking_hour, booking_minute
|
|
)
|