33 lines
1 KiB
Python
33 lines
1 KiB
Python
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")
|