From 63942b72a82fc4759ba8c055d18d7f825e397593 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Tue, 19 Sep 2023 17:07:46 +0200 Subject: [PATCH] Log backend plugin std out CURA-11064 --- conanfile.py | 4 ++-- cura/BackendPlugin.py | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/conanfile.py b/conanfile.py index 315e494daf..13b3d84b14 100644 --- a/conanfile.py +++ b/conanfile.py @@ -346,7 +346,7 @@ class CuraConan(ConanFile): vr.generate() self._generate_cura_version(os.path.join(self.source_folder, "cura")) - self._generate_about_versions(os.path.join(self.source_folder, "resources","qml", "Dialogs")) + # self._generate_about_versions(os.path.join(self.source_folder, "resources","qml", "Dialogs")) if not self.in_local_cache: # Copy CuraEngine.exe to bindirs of Virtual Python Environment @@ -403,7 +403,7 @@ class CuraConan(ConanFile): # FIXME: once m4, autoconf, automake are Conan V2 ready use self.win_bash and add gettext as base tool_requirement cpp_info = self.dependencies["gettext"].cpp_info pot = self.python_requires["translationextractor"].module.ExtractTranslations(self, cpp_info.bindirs[0]) - pot.generate() + # pot.generate() def build(self): if self.options.devtools: diff --git a/cura/BackendPlugin.py b/cura/BackendPlugin.py index e8a08cf0be..b382fee18d 100644 --- a/cura/BackendPlugin.py +++ b/cura/BackendPlugin.py @@ -65,10 +65,16 @@ class BackendPlugin(AdditionalSettingDefinitionsAppender, PluginObject): # STDIN needs to be None because we provide no input, but communicate via a local socket instead. # The NUL device sometimes doesn't exist on some computers. Logger.info(f"Starting backend_plugin [{self._plugin_id}] with command: {self._validatePluginCommand()}") - popen_kwargs = {"stdin": None} + popen_kwargs = {"stdin": None, "stdout": subprocess.PIPE, "stderr": subprocess.PIPE} if Platform.isWindows(): popen_kwargs["creationflags"] = subprocess.CREATE_NO_WINDOW self._process = subprocess.Popen(self._validatePluginCommand(), **popen_kwargs) + stdout_data, stderr_data = self._process.communicate() + if stderr_data: + Logger.error(f"Error starting backend_plugin [{self._plugin_id}] stderr: {str(stderr_data)}") + return False + Logger.info( + f"Started backend_plugin [{self._plugin_id}] with PID: {self._process.pid}, stdout: {str(stdout_data)}") self._is_running = True return True except PermissionError: