From 55df47c8f3656ae02240cd110efe8257767b738e Mon Sep 17 00:00:00 2001 From: Milan Kolar Date: Tue, 23 Feb 2021 12:39:15 +0100 Subject: [PATCH] ensure keys are converted to string as well --- pype/lib/execute.py | 2 +- pype/plugins/publish/repair_unicode_strings.py | 18 +++--------------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/pype/lib/execute.py b/pype/lib/execute.py index 7e37e5d6da..f815d05f1b 100644 --- a/pype/lib/execute.py +++ b/pype/lib/execute.py @@ -94,7 +94,7 @@ def run_subprocess(*args, **kwargs): # not passed. env = kwargs.get("env") or os.environ # Make sure environment contains only strings - filtered_env = {k: str(v) for k, v in env.items()} + filtered_env = {str(k): str(v) for k, v in env.items()} # Use lib's logger if was not passed with kwargs. logger = kwargs.pop("logger", log) diff --git a/pype/plugins/publish/repair_unicode_strings.py b/pype/plugins/publish/repair_unicode_strings.py index 593b8f9f31..59e629a892 100644 --- a/pype/plugins/publish/repair_unicode_strings.py +++ b/pype/plugins/publish/repair_unicode_strings.py @@ -10,20 +10,8 @@ class RepairUnicodeStrings(pyblish.api.Collector): order = pyblish.api.CollectorOrder label = 'Unicode Strings' + actions = [pype.api.RepairContextAction] - def process(self, instance): - # invalid = self.get_invalid(instance) - # if invalid: + def process(self, context): for key, value in os.environ.items(): - self.log.info(type(value)) - if type(value) is type(u't'): - os.environ[key] = str(value) - - @classmethod - def get_invalid(cls, instance): - invalid = [] - for key, value in os.environ.items(): - if type(value) is type(u't'): - invalid.append((key, value)) - - return invalid + os.environ[str(key)] = str(value)