API cleanup

This commit is contained in:
Brett Williams
2023-05-28 01:17:10 -05:00
parent bac069201f
commit 4911ed538d
4 changed files with 30 additions and 33 deletions

View File

@@ -90,9 +90,9 @@ def create_node_tree(all_server_data) -> Tree:
for job in jobs_to_display:
renderer = f"{renderer_colors[job['renderer']]}{job['renderer']}[default]"
filename = os.path.basename(job['worker']['input_path']).split('.')[0]
filename = os.path.basename(job['input_path']).split('.')[0]
if job['status'] == 'running':
jobs_tree.add(f"[bold]{renderer} {filename} ({job['id']}) - {status_string_to_color(job['status'])}{(float(job['worker']['percent_complete']) * 100):.1f}%")
jobs_tree.add(f"[bold]{renderer} {filename} ({job['id']}) - {status_string_to_color(job['status'])}{(float(job['percent_complete']) * 100):.1f}%")
else:
jobs_tree.add(f"{filename} ({job['id']}) - {status_string_to_color(job['status'])}{job['status'].title()}")
@@ -129,31 +129,21 @@ def create_jobs_table(all_server_data) -> Table:
job_color = '[{}]'.format(status_colors[job_status])
job_text = f"{job_color}" + job_status.value.title()
if job_status == RenderStatus.ERROR and job['worker']['errors']:
job_text = job_text + "\n" + "\n".join(job['worker']['errors'])
if job_status == RenderStatus.ERROR and job['errors']:
job_text = job_text + "\n" + "\n".join(job['errors'])
# calculate elapsed time
elapsed_time = 'Unknown'
start_time = None
end_time = None
if job['worker']['start_time']:
start_time = datetime.datetime.fromisoformat(job['worker']['start_time'])
if job['worker']['end_time']:
end_time = datetime.datetime.fromisoformat(job['worker']['end_time'])
if start_time:
if end_time:
elapsed_time = str(end_time - start_time)
elif job_status == RenderStatus.RUNNING:
elapsed_time = str(datetime.datetime.now() - start_time)
elapsed_time = job['time_elapsed']
if job['start_time'] and job_status == RenderStatus.RUNNING:
start_time = datetime.datetime.fromisoformat(job['start_time'])
elapsed_time = str(datetime.datetime.now() - start_time)
# Project name
project_name = job_color + job['name']
if job_status == RenderStatus.RUNNING:
job_text = f"{job_color}[bold]Running - {float(job['worker']['percent_complete']) * 100:.1f}%"
delta = datetime.datetime.now() - datetime.datetime.fromisoformat(job['worker']['start_time'])
job_text = f"{job_color}[bold]Running - {float(job['percent_complete']) * 100:.1f}%"
delta = datetime.datetime.now() - datetime.datetime.fromisoformat(job['start_time'])
elapsed_time = "[bold]" + str(delta)
project_name = "[bold]" + project_name
elif job_status == RenderStatus.CANCELLED or job_status == RenderStatus.ERROR:
@@ -169,11 +159,11 @@ def create_jobs_table(all_server_data) -> Table:
table.add_row(
job['id'],
project_name,
renderer_colors.get(job['renderer'], '[cyan]') + job['renderer'] + '[default]-' + job['worker']['renderer_version'],
renderer_colors.get(job['renderer'], '[cyan]') + job['renderer'] + '[default]-' + job['renderer_version'],
f"[{priority_color}]{job['priority']}",
job_text,
elapsed_time,
str(max(int(job['worker']['total_frames']), 1)),
str(max(int(job['total_frames']), 1)),
client_title
)