handle escape in 'run_subprocess'

This commit is contained in:
Jakub Trllo 2024-08-28 10:33:48 +02:00
parent 714f58fbd6
commit 911ef45a45
4 changed files with 14 additions and 21 deletions

View file

@ -108,6 +108,20 @@ def run_subprocess(*args, **kwargs):
| getattr(subprocess, "CREATE_NO_WINDOW", 0)
)
# Escape parentheses for bash
if (
kwargs.get("shell") is True
and len(args) == 1
and isinstance(args[0], str)
and os.getenv("SHELL") in ("/bin/bash", "/bin/sh")
):
new_arg = (
args[0]
.replace("(", "\\(")
.replace(")", "\\)")
)
args = (new_arg, )
# Get environents from kwarg or use current process environments if were
# not passed.
env = kwargs.get("env") or os.environ

View file

@ -454,13 +454,6 @@ class ExtractReview(pyblish.api.InstancePlugin):
raise NotImplementedError
subprcs_cmd = " ".join(ffmpeg_args)
if os.getenv("SHELL") in ("/bin/bash", "/bin/sh"):
# Escape parentheses for bash
subprcs_cmd = (
subprcs_cmd
.replace("(", "\\(")
.replace(")", "\\)")
)
# run subprocess
self.log.debug("Executing: {}".format(subprcs_cmd))

View file

@ -269,13 +269,6 @@ class ExtractReviewSlate(publish.Extractor):
" ".join(output_args)
]
slate_subprocess_cmd = " ".join(slate_args)
if os.getenv("SHELL") in ("/bin/bash", "/bin/sh"):
# Escape parentheses for bash
slate_subprocess_cmd = (
slate_subprocess_cmd
.replace("(", "\\(")
.replace(")", "\\)")
)
# run slate generation subprocess
self.log.debug(

View file

@ -455,13 +455,6 @@ class ExtractThumbnail(pyblish.api.InstancePlugin):
# output file
jpeg_items.append(path_to_subprocess_arg(dst_path))
subprocess_command = " ".join(jpeg_items)
if os.getenv("SHELL") in ("/bin/bash", "/bin/sh"):
# Escape parentheses for bash
subprocess_command = (
subprocess_command
.replace("(", "\\(")
.replace(")", "\\)")
)
try:
run_subprocess(