Update blender worker to get current frame from filepath output

This commit is contained in:
Brett Williams
2024-07-30 20:00:07 -05:00
parent 8a3e74660c
commit 47770c4fdd

View File

@@ -83,15 +83,22 @@ class BlenderRenderWorker(BaseRenderWorker):
elif line.lower().startswith('error'): elif line.lower().startswith('error'):
self.log_error(line) self.log_error(line)
elif 'Saved' in line or 'Saving' in line or 'quit' in line: elif 'Saved' in line or 'Saving' in line or 'quit' in line:
match = re.match(r'Time: (.*) \(Saving', line) render_stats_match = re.match(r'Time: (.*) \(Saving', line)
if match: output_filename_match = re.match(r"Saved: .*_(\d+)\.\w+", line) # try to get frame # from filename
time_completed = match.groups()[0] if output_filename_match:
output_file_number = output_filename_match.groups()[0]
try:
self.current_frame = int(output_file_number)
except ValueError:
pass
elif render_stats_match:
time_completed = render_stats_match.groups()[0]
frame_count = self.current_frame - self.end_frame + self.total_frames frame_count = self.current_frame - self.end_frame + self.total_frames
logger.info(f'Frame #{self.current_frame} - ' logger.info(f'Frame #{self.current_frame} - '
f'{frame_count} of {self.total_frames} completed in {time_completed} | ' f'{frame_count} of {self.total_frames} completed in {time_completed} | '
f'Total Elapsed Time: {datetime.now() - self.start_time}') f'Total Elapsed Time: {datetime.now() - self.start_time}')
else: else:
logger.debug(line) logger.debug(f'DEBUG: {line}')
else: else:
pass pass
# if len(line.strip()): # if len(line.strip()):