#!/usr/bin/env python3
"""Test script to check ComfyUI history fetching."""
import asyncio
import httpx
import json
async def test_history_fetch():
"""Test fetching history from ComfyUI."""
base_url = "http://127.0.0.1:8188"
# Get all history
async with httpx.AsyncClient(timeout=15.0, trust_env=False) as client:
print("Fetching all history...")
response = await client.get(f"{base_url}/history")
response.raise_for_status()
all_history = response.json()
print(f"Found {len(all_history)} history entries")
for prompt_id, history_data in all_history.items():
print(f"\nPrompt ID: {prompt_id}")
# Check if this prompt has outputs
outputs = history_data.get("outputs", {})
if outputs:
print(f" Has outputs: {list(outputs.keys())}")
for node_id, node_output in outputs.items():
if "images" in node_output:
images = node_output["images"]
print(f" Node {node_id} has {len(images)} images:")
for img in images:
print(f" - {img['filename']} (subfolder: {img.get('subfolder', 'none')}, type: {img.get('type', 'output')})")
else:
print(" No outputs found")
# Test specific history fetch
print(f"Testing specific history fetch for {prompt_id}...")
specific_response = await client.get(f"{base_url}/history/{prompt_id}")
specific_response.raise_for_status()
specific_history = specific_response.json()
specific_prompt_data = specific_history.get(prompt_id)
if specific_prompt_data:
specific_outputs = specific_prompt_data.get("outputs", {})
if specific_outputs:
print(f" Specific fetch: Found outputs {list(specific_outputs.keys())}")
else:
print(f" Specific fetch: No outputs")
else:
print(f" Specific fetch: No data for prompt {prompt_id}")
if __name__ == "__main__":
asyncio.run(test_history_fetch())