chore: Move docs and scripts into directories
This commit is contained in:
80
scripts/execute_book_session.py
Executable file
80
scripts/execute_book_session.py
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script to demonstrate how to execute the book_session method from crossfit_booker.py
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
import logging
|
||||
from src.auth import AuthHandler
|
||||
from src.booker import Booker
|
||||
from src.session_notifier import SessionNotifier
|
||||
|
||||
# Load environment variables
|
||||
from dotenv import load_dotenv
|
||||
load_dotenv()
|
||||
|
||||
# Configure logging
|
||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
|
||||
def main():
|
||||
# Check if a session ID was provided as an argument
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: python execute_book_session.py <session_id>")
|
||||
sys.exit(1)
|
||||
|
||||
session_id = sys.argv[1]
|
||||
|
||||
# Initialize components
|
||||
auth_handler = AuthHandler(
|
||||
os.environ.get("CROSSFIT_USERNAME"),
|
||||
os.environ.get("CROSSFIT_PASSWORD")
|
||||
)
|
||||
|
||||
# Initialize notification system (minimal for single session booking)
|
||||
email_credentials = {
|
||||
"from": os.environ.get("EMAIL_FROM"),
|
||||
"to": os.environ.get("EMAIL_TO"),
|
||||
"password": os.environ.get("EMAIL_PASSWORD")
|
||||
}
|
||||
|
||||
telegram_credentials = {
|
||||
"token": os.environ.get("TELEGRAM_TOKEN"),
|
||||
"chat_id": os.environ.get("TELEGRAM_CHAT_ID")
|
||||
}
|
||||
|
||||
enable_email = os.environ.get("ENABLE_EMAIL_NOTIFICATIONS", "true").lower() in ("true", "1", "yes")
|
||||
enable_telegram = os.environ.get("ENABLE_TELEGRAM_NOTIFICATIONS", "true").lower() in ("true", "1", "yes")
|
||||
|
||||
notifier = SessionNotifier(
|
||||
email_credentials,
|
||||
telegram_credentials,
|
||||
enable_email=enable_email,
|
||||
enable_telegram=enable_telegram
|
||||
)
|
||||
|
||||
# Create an instance of Booker
|
||||
booker = Booker(auth_handler, notifier)
|
||||
|
||||
# Login to authenticate
|
||||
print("Attempting to authenticate...")
|
||||
if not auth_handler.login():
|
||||
print("Failed to authenticate. Please check your credentials and try again.")
|
||||
sys.exit(1)
|
||||
print("Authentication successful!")
|
||||
|
||||
# Book the session
|
||||
print(f"Attempting to book session with ID: {session_id}")
|
||||
success = booker.book_session(session_id)
|
||||
|
||||
if success:
|
||||
print(f"Successfully booked session {session_id}")
|
||||
else:
|
||||
print(f"Failed to book session {session_id}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
main()
|
||||
except Exception as e:
|
||||
print(f"An error occurred: {e}")
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user