resa-padel/resa_padel/booking.py

33 lines
1.1 KiB
Python

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