import lxml import requests import datetime from panera_sync.saml_check import saml_check from panera_sync.login import login_user from panera_sync.oauth_required import ( get_bearer_token, get_cafe_id, get_iBOH_id, get_shifts, ) PANERA_URL = "https://pantry.panerabread.com" def get_login_page(session: requests.Session): landing = session.get(PANERA_URL) return saml_check(session, landing) def login(username, password): session = requests.Session() login_page = get_login_page(session) login_user(session, login_page, username, password) return session def get_shifts_between(session, start_date: datetime.date, end_date: datetime.date): bearer_token = get_bearer_token(session) cafe_id = get_cafe_id(session) iBOH_id = get_iBOH_id(session, bearer_token) return get_shifts(session, bearer_token, iBOH_id, cafe_id, start_date, end_date)