Prevent subprocesses from constantly opening windows on Windows (#109)

* Add subprocess.CREATE_NO_WINDOW to blender_engine.py

* Convert ffmpeg_engine.py to use CREATE_NO_WINDOW

* Cleanup Blender implementation

* Cleanup subprocesses in base_worker.py

* Cleanup subprocesses in base_engine.py

* Fix main.spec for Windows (optimize=2 broke it)
This commit is contained in:
2024-08-13 22:16:03 -05:00
committed by GitHub
parent d30978bef0
commit 81e79a1996
5 changed files with 30 additions and 19 deletions

View File

@@ -1,5 +1,6 @@
import logging
import os
import platform
import subprocess
logger = logging.getLogger()
@@ -61,8 +62,9 @@ class BaseRenderEngine(object):
path = self.renderer_path()
if not path:
raise FileNotFoundError("renderer path not found")
creationflags = subprocess.CREATE_NO_WINDOW if platform.system() == 'Windows' else 0
help_doc = subprocess.check_output([path, '-h'], stderr=subprocess.STDOUT,
timeout=SUBPROCESS_TIMEOUT).decode('utf-8')
timeout=SUBPROCESS_TIMEOUT, creationflags=creationflags).decode('utf-8')
return help_doc
def get_project_info(self, project_path, timeout=10):