mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-12-23 04:50:49 +08:00
address comments
This commit is contained in:
parent
86590ca403
commit
460b848669
@ -10,9 +10,8 @@ class JobStatus:
|
|||||||
IN_PROGRESS = 'in_progress'
|
IN_PROGRESS = 'in_progress'
|
||||||
COMPLETED = 'completed'
|
COMPLETED = 'completed'
|
||||||
FAILED = 'failed'
|
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
|
# 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:
|
else:
|
||||||
status = JobStatus.COMPLETED
|
status = JobStatus.COMPLETED
|
||||||
|
|
||||||
outputs = history_item.get('outputs', {})
|
outputs = history_item.get('outputs') or {}
|
||||||
outputs_count, preview_output = get_outputs_summary(outputs)
|
outputs_count, preview_output = get_outputs_summary(outputs)
|
||||||
|
|
||||||
execution_error = None
|
execution_error = None
|
||||||
@ -150,6 +149,8 @@ def get_outputs_summary(outputs):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
for item in items:
|
for item in items:
|
||||||
|
if not isinstance(item, dict):
|
||||||
|
continue
|
||||||
count += 1
|
count += 1
|
||||||
|
|
||||||
if preview_output is None and is_previewable(media_type, item):
|
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_param = query.get("status", None)
|
||||||
status_filter = None
|
status_filter = None
|
||||||
if status_param:
|
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)
|
valid_statuses = set(JobStatus.ALL)
|
||||||
status_filter = [s for s in status_filter if s in valid_statuses]
|
invalid_statuses = [s for s in status_filter if s not in valid_statuses]
|
||||||
if not status_filter:
|
if invalid_statuses:
|
||||||
status_filter = None
|
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'}:
|
if sort_by not in {'created_at', 'execution_duration'}:
|
||||||
return web.json_response(
|
return web.json_response(
|
||||||
{"error": "sort_by must be 'created_at' or 'execution_duration'"},
|
{"error": "sort_by must be 'created_at' or 'execution_duration'"},
|
||||||
status=400
|
status=400
|
||||||
)
|
)
|
||||||
|
|
||||||
sort_order = query.get('sort_order', 'desc')
|
sort_order = query.get('sort_order', 'desc').lower()
|
||||||
if sort_order not in {'asc', 'desc'}:
|
if sort_order not in {'asc', 'desc'}:
|
||||||
return web.json_response(
|
return web.json_response(
|
||||||
{"error": "sort_order must be 'asc' or 'desc'"},
|
{"error": "sort_order must be 'asc' or 'desc'"},
|
||||||
|
|||||||
@ -19,7 +19,6 @@ class TestJobStatus:
|
|||||||
assert JobStatus.IN_PROGRESS == 'in_progress'
|
assert JobStatus.IN_PROGRESS == 'in_progress'
|
||||||
assert JobStatus.COMPLETED == 'completed'
|
assert JobStatus.COMPLETED == 'completed'
|
||||||
assert JobStatus.FAILED == 'failed'
|
assert JobStatus.FAILED == 'failed'
|
||||||
assert JobStatus.CANCELLED == 'cancelled'
|
|
||||||
|
|
||||||
def test_all_contains_all_statuses(self):
|
def test_all_contains_all_statuses(self):
|
||||||
"""ALL should contain all status values."""
|
"""ALL should contain all status values."""
|
||||||
@ -27,8 +26,7 @@ class TestJobStatus:
|
|||||||
assert JobStatus.IN_PROGRESS in JobStatus.ALL
|
assert JobStatus.IN_PROGRESS in JobStatus.ALL
|
||||||
assert JobStatus.COMPLETED in JobStatus.ALL
|
assert JobStatus.COMPLETED in JobStatus.ALL
|
||||||
assert JobStatus.FAILED in JobStatus.ALL
|
assert JobStatus.FAILED in JobStatus.ALL
|
||||||
assert JobStatus.CANCELLED in JobStatus.ALL
|
assert len(JobStatus.ALL) == 4
|
||||||
assert len(JobStatus.ALL) == 5
|
|
||||||
|
|
||||||
|
|
||||||
class TestIsPreviewable:
|
class TestIsPreviewable:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user