From 4e4c69d660384fb58ae0169c073ff9e36b1657cb Mon Sep 17 00:00:00 2001 From: aardschok Date: Wed, 14 Feb 2018 17:14:08 +0100 Subject: [PATCH] added custom logger for subprocess --- .../fusion/publish/publish_image_sequences.py | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/colorbleed/plugins/fusion/publish/publish_image_sequences.py b/colorbleed/plugins/fusion/publish/publish_image_sequences.py index 69df8ed0ee..64d4648475 100644 --- a/colorbleed/plugins/fusion/publish/publish_image_sequences.py +++ b/colorbleed/plugins/fusion/publish/publish_image_sequences.py @@ -55,14 +55,21 @@ class PublishImageSequence(pyblish.api.Extractor): stdout=subprocess.PIPE, stderr=subprocess.STDOUT) - output, error = process.communicate() + while True: + output = process.stdout.readline() + # Break when there is no output or a return code has been given + if output == '' and process.poll() is not None: + break + if output: + line = output.strip() + if line.startswith("ERROR"): + self.log.error(line) + else: + self.log.info(line) - if output: - self.log.info(output) - - if error: - self.log.error(error) - raise RuntimeError(error) + if process.returncode != 0: + raise RuntimeError("Process quit with non-zero " + "return code: {}".format(process.returncode)) # todo: ensure publish went without any issues valid = bool(context)