Model/backend/pashub_fetcher/handler/handler.py

47 lines
1.4 KiB
Python

import time
from typing import Any, List, Mapping
from backend.pashub_fetcher.cotality_client import CotalityClient, UnauthorizedError
from backend.pashub_fetcher.token_getter import get_token_from_local_storage
from utils.logger import setup_logger
logger = setup_logger()
def handler(event: Mapping[str, Any], context: Any) -> None:
pas_hub_email = "random@test.com"
pas_hub_password = "my_fake_password"
try:
token: str = get_token_from_local_storage(pas_hub_email, pas_hub_password)
logger.info(f"Token extracted successfully: {token}")
except:
logger.error("Error getting auth token from Pas Hub")
raise
client = CotalityClient(token=token)
jobs = [
"5abf6e27-e4c4-4ba8-b69d-9e34939e0002",
"047f4455-85e2-4293-97b1-6b460137d33e",
] # TODO: get these from request body
saved_files: List[str] = []
for job_id in jobs:
try:
saved_files.extend(client.get_core_envidence_files_by_job_id(job_id))
except UnauthorizedError:
logger.warning("Token expired — refreshing")
token = get_token_from_local_storage(pas_hub_email, pas_hub_password)
client = CotalityClient(token=token)
# retry once
saved_files.extend(client.get_core_envidence_files_by_job_id(job_id))
time.sleep(10) # Simulate manual download
print(f"saved {len(saved_files)} files")