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