diff --git a/ui/extends/tabs/tabTools/tabTools_Andreal.py b/ui/extends/tabs/tabTools/tabTools_Andreal.py index 4233417..285cea1 100644 --- a/ui/extends/tabs/tabTools/tabTools_Andreal.py +++ b/ui/extends/tabs/tabTools/tabTools_Andreal.py @@ -2,6 +2,7 @@ import base64 import logging import os import re +import subprocess from PySide6.QtCore import QObject, QProcess, QRunnable, QThreadPool, Signal @@ -24,7 +25,12 @@ class AndrealExecuteRunnable(QRunnable): def run(self): try: - result = os.popen(f"{self.executePath} {' '.join(self.arguments)}").read() + subp = subprocess.run( + [self.executePath, *self.arguments], + capture_output=True, + encoding="utf-8", + ) + result = subp.stdout b64Result = [s for s in result.split("\n") if s] imageBytes = base64.b64decode( re.sub(r"data:image/.*;base64,", "", b64Result[-1]) diff --git a/ui/implements/tabs/tabTools/tabTools_Andreal.py b/ui/implements/tabs/tabTools/tabTools_Andreal.py index 2e54b0d..8df74e9 100644 --- a/ui/implements/tabs/tabTools/tabTools_Andreal.py +++ b/ui/implements/tabs/tabTools/tabTools_Andreal.py @@ -180,19 +180,20 @@ class TabTools_Andreal(Ui_TabTools_Andreal, QWidget): arguments = [ str(self.imageType()), - f'--json-file="{jsonFile}"', - f"--img-version={self.imageVersion()}", + "--json-file", + jsonFile, + "--img-version", + str(self.imageVersion()), ] if self.andrealFolderSelector.selectedFiles(): - arguments.append( - f'--path="{self.andrealFolderSelector.selectedFiles()[0]}"' - ) + arguments.append("--path") + arguments.append(self.andrealFolderSelector.selectedFiles()[0]) if preview: - arguments.extend(["--img-format=jpg", "--img-quality=20"]) + arguments.extend(["--img-format", "jpg", "--img-quality", "20"]) else: - arguments.append(f"--img-format={self.imageFormat()}") + arguments.extend(["--img-format", self.imageFormat()]) if self.imageFormat() == "jpg": - arguments.append(f"--img-quality={self.jpgQualitySpinBox.value()}") + arguments.extend(["--img-quality", str(self.jpgQualitySpinBox.value())]) return arguments def getAndrealJsonContent(self):