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, )