ABle to send the booking request to several courts at the same time
This commit is contained in:
parent
fcc08f03f1
commit
51af600d28
11 changed files with 288 additions and 99 deletions
|
@ -1,33 +1,33 @@
|
|||
import asyncio
|
||||
import logging
|
||||
|
||||
import pendulum
|
||||
import config
|
||||
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
|
||||
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) -> ClientSession:
|
||||
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)
|
||||
|
||||
return session
|
||||
|
||||
|
||||
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_id=config.COURT_ID,
|
||||
sport_id=config.SPORT_ID,
|
||||
date=pendulum.parse(config.DATE_TIME),
|
||||
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")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue