"""Save uploaded job photos to a temp dir so perception can read them by path.""" import base64 import hashlib import os UPLOAD_DIR = "/tmp/quillwright_uploads" def save_upload(data: str, filename: str) -> str: """Decode a (possibly data-URL) base64 image and write it; return the file path.""" if "," in data and data.strip().startswith("data:"): data = data.split(",", 1)[1] raw = base64.b64decode(data) os.makedirs(UPLOAD_DIR, exist_ok=True) ext = os.path.splitext(filename)[1] or ".png" digest = hashlib.sha1(raw).hexdigest()[:16] path = os.path.join(UPLOAD_DIR, f"{digest}{ext}") with open(path, "wb") as f: f.write(raw) return path