diff --git a/lib/render_workers/base_worker.py b/lib/render_workers/base_worker.py index c544111..bd9f34f 100644 --- a/lib/render_workers/base_worker.py +++ b/lib/render_workers/base_worker.py @@ -64,7 +64,6 @@ class BaseRenderWorker(object): self.status = RenderStatus.NOT_STARTED self.warnings = [] self.errors = [] - self.halt_on_errors = True self.failed_attempts = 0 self.maximum_attempts = 1 @@ -197,10 +196,10 @@ class BaseRenderWorker(object): return self.__thread.is_alive() return False - def log_error(self, error_line): + def log_error(self, error_line, halt_render=False): logger.error(error_line) self.errors.append(error_line) - if self.halt_on_errors: + if halt_render: self.stop(is_error=True) def stop(self, is_error=False): diff --git a/lib/render_workers/blender_worker.py b/lib/render_workers/blender_worker.py index 3f167cb..67626a4 100644 --- a/lib/render_workers/blender_worker.py +++ b/lib/render_workers/blender_worker.py @@ -87,7 +87,9 @@ class BlenderRenderWorker(BaseRenderWorker): logger.debug( 'Frame:{0} | Mem:{1} | Time:{2} | Remaining:{3}'.format(self.current_frame, memory_use, time_elapsed, time_remaining)) - elif "file doesn't exist" in line.lower() or 'error' in line.lower(): + elif "file doesn't exist" in line.lower(): + self.log_error(line, halt_render=True) + elif 'error' in line.lower(): self.log_error(line) elif 'Saved' in line or 'Saving' in line or 'quit' in line: match = re.match(r'Time: (.*) \(Saving', line) @@ -125,7 +127,7 @@ class BlenderRenderWorker(BaseRenderWorker): try: image_sequence_to_video(source_glob_pattern=glob_pattern, - output_path=self.output_path + '_preview.mp4', + output_path=self.output_path + '.mp4', framerate=self.scene_info['fps']) logger.info('Successfully generated preview image sequence') except Exception as e: