Files
appfactory-portal/app/shell.py
T
2026-06-17 11:39:52 +02:00

32 lines
899 B
Python

import os
import subprocess
def run_command(args):
# Skripty v /tools vypisují české hlášky v UTF-8. Bez explicitního kódování
# se výstup dekóduje podle locale kontejneru (často C/ASCII) a diakritika se
# rozsype na mojibake. errors="replace" navíc zaručí, že dekódování nikdy
# nespadne na neočekávaném bajtu.
return subprocess.run(
args,
capture_output=True,
text=True,
encoding="utf-8",
errors="replace",
)
def run_command_background(args, extra_env=None):
env = os.environ.copy()
if extra_env:
env.update({key: "" if value is None else str(value) for key, value in extra_env.items()})
return subprocess.Popen(
args,
env=env,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
stdin=subprocess.DEVNULL,
start_new_session=True,
)