mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-12-22 12:30:50 +08:00
address comments
This commit is contained in:
parent
86590ca403
commit
460b848669
@ -10,9 +10,8 @@ class JobStatus:
|
||||
IN_PROGRESS = 'in_progress'
|
||||
COMPLETED = 'completed'
|
||||
FAILED = 'failed'
|
||||
CANCELLED = 'cancelled'
|
||||
|
||||
ALL = [PENDING, IN_PROGRESS, COMPLETED, FAILED, CANCELLED]
|
||||
ALL = [PENDING, IN_PROGRESS, COMPLETED, FAILED]
|
||||
|
||||
|
||||
# Media types that can be previewed in the frontend
|
||||
@ -86,7 +85,7 @@ def normalize_history_item(prompt_id, history_item, include_outputs=False):
|
||||
else:
|
||||
status = JobStatus.COMPLETED
|
||||
|
||||
outputs = history_item.get('outputs', {})
|
||||
outputs = history_item.get('outputs') or {}
|
||||
outputs_count, preview_output = get_outputs_summary(outputs)
|
||||
|
||||
execution_error = None
|
||||
@ -150,6 +149,8 @@ def get_outputs_summary(outputs):
|
||||
continue
|
||||
|
||||
for item in items:
|
||||
if not isinstance(item, dict):
|
||||
continue
|
||||
count += 1
|
||||
|
||||
if preview_output is None and is_previewable(media_type, item):
|
||||
|
||||
15
server.py
15
server.py
@ -703,20 +703,23 @@ class PromptServer():
|
||||
status_param = query.get("status", None)
|
||||
status_filter = None
|
||||
if status_param:
|
||||
status_filter = [s.strip() for s in status_param.split(',') if s.strip()]
|
||||
status_filter = [s.strip().lower() for s in status_param.split(',') if s.strip()]
|
||||
valid_statuses = set(JobStatus.ALL)
|
||||
status_filter = [s for s in status_filter if s in valid_statuses]
|
||||
if not status_filter:
|
||||
status_filter = None
|
||||
invalid_statuses = [s for s in status_filter if s not in valid_statuses]
|
||||
if invalid_statuses:
|
||||
return web.json_response(
|
||||
{"error": f"Invalid status value(s): {', '.join(invalid_statuses)}. Valid values: {', '.join(JobStatus.ALL)}"},
|
||||
status=400
|
||||
)
|
||||
|
||||
sort_by = query.get('sort_by', 'created_at')
|
||||
sort_by = query.get('sort_by', 'created_at').lower()
|
||||
if sort_by not in {'created_at', 'execution_duration'}:
|
||||
return web.json_response(
|
||||
{"error": "sort_by must be 'created_at' or 'execution_duration'"},
|
||||
status=400
|
||||
)
|
||||
|
||||
sort_order = query.get('sort_order', 'desc')
|
||||
sort_order = query.get('sort_order', 'desc').lower()
|
||||
if sort_order not in {'asc', 'desc'}:
|
||||
return web.json_response(
|
||||
{"error": "sort_order must be 'asc' or 'desc'"},
|
||||
|
||||
@ -19,7 +19,6 @@ class TestJobStatus:
|
||||
assert JobStatus.IN_PROGRESS == 'in_progress'
|
||||
assert JobStatus.COMPLETED == 'completed'
|
||||
assert JobStatus.FAILED == 'failed'
|
||||
assert JobStatus.CANCELLED == 'cancelled'
|
||||
|
||||
def test_all_contains_all_statuses(self):
|
||||
"""ALL should contain all status values."""
|
||||
@ -27,8 +26,7 @@ class TestJobStatus:
|
||||
assert JobStatus.IN_PROGRESS in JobStatus.ALL
|
||||
assert JobStatus.COMPLETED in JobStatus.ALL
|
||||
assert JobStatus.FAILED in JobStatus.ALL
|
||||
assert JobStatus.CANCELLED in JobStatus.ALL
|
||||
assert len(JobStatus.ALL) == 5
|
||||
assert len(JobStatus.ALL) == 4
|
||||
|
||||
|
||||
class TestIsPreviewable:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user