import asyncio import logging import pendulum from aiohttp import ClientSession from resa_padel import config from resa_padel.gestion_sports.gestion_sports_connector import GestionSportsConnector from resa_padel.models import User, BookingFilter LOGGER = logging.getLogger(__name__) async def book(url: str, user: User, booking_filter: BookingFilter) -> ClientSession: async with ClientSession() as session: platform = GestionSportsConnector(session, url) await platform.connect() await platform.login(user) await platform.book(booking_filter) return session def main() -> None: LOGGER.info("Starting booking padel court") user = User(login=config.USER, password=config.PASSWORD, club_id=config.CLUB_ID) booking_filter = BookingFilter( court_id=config.COURT_ID, sport_id=config.SPORT_ID, date=pendulum.parse(config.DATE_TIME), ) asyncio.run(book(config.GESTION_SPORTS_URL, user, booking_filter)) LOGGER.info("Finished booking padel court")