while True: task = requests.get( f"{BASE}/v1/tasks/{task_id}", headers=headers, ).json() pending = [ device_task for device_task in task["deviceTasks"] if device_task["status"] != "completed" ] if not pending: break time.sleep(30)
result = { "taskId": task_id, "succeeded": [ { "deviceId": device_task["deviceId"], "deviceName": device_task["deviceName"], } for device_task in task["deviceTasks"] if device_task["result"] == "succeeded" ], "failed": [ { "deviceId": device_task["deviceId"], "deviceName": device_task["deviceName"], "result": device_task["result"], } for device_task in task["deviceTasks"] if device_task["result"] != "succeeded" ],}print(json.dumps(result, indent=2))