diff --git a/autofax.py b/autofax.py index 1818bad..402b33e 100755 --- a/autofax.py +++ b/autofax.py @@ -270,14 +270,20 @@ def main(): result = send_fax(pdf_path) entries.append(result) - # Wait briefly and check initial status - if result["fax_id"] and result["status"] == "QUEUED": - time.sleep(15) - status_data = check_fax_status(result["fax_id"]) - if status_data: - result["status"] = status_data.get("status", result["status"]) - if result["status"] == "FAILURE": - result["failure_reason"] = status_data.get("failureReason", "Unknown") + # Poll until final status (up to 3 minutes) + if result["fax_id"] and result["status"] in ("QUEUED", "IN_PROGRESS"): + print("Waiting for delivery confirmation...", end="", flush=True) + for _ in range(12): + time.sleep(15) + print(".", end="", flush=True) + status_data = check_fax_status(result["fax_id"]) + if status_data: + result["status"] = status_data.get("status", result["status"]) + if result["status"] == "FAILURE": + result["failure_reason"] = status_data.get("failureReason", "Unknown") + if result["status"] in ("COMPLETED", "FAILURE"): + break + print() save_log(entries) report_path = generate_report(entries)