From a8862e9b2420cb1e3919288db624fae676b7e1c3 Mon Sep 17 00:00:00 2001 From: Werner Llácer Date: Thu, 6 Jan 2022 23:26:49 +0100 Subject: Define an standard locale for all the commands executed (#827) * Define an standard locale for all the commands executed inside the application * Allow LC_ALL to be overriden during call * flake8 corrections --- archinstall/lib/general.py | 5 +++-- archinstall/lib/luks.py | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/archinstall/lib/general.py b/archinstall/lib/general.py index 96c9d50c..f69242c6 100644 --- a/archinstall/lib/general.py +++ b/archinstall/lib/general.py @@ -188,7 +188,8 @@ class SysCommandWorker: self.cmd = cmd self.callbacks = callbacks self.peak_output = peak_output - self.environment_vars = environment_vars + # define the standard locale for command outputs. For now the C ascii one. Can be overriden + self.environment_vars = {'LC_ALL':'C' , **environment_vars} self.logfile = logfile self.working_directory = working_directory @@ -368,7 +369,7 @@ class SysCommand: peak_output :Optional[bool] = False, environment_vars :Optional[Dict[str, Any]] = None, working_directory :Optional[str] = './'): - + _callbacks = {} if callbacks: for hook, func in callbacks.items(): diff --git a/archinstall/lib/luks.py b/archinstall/lib/luks.py index 26f2bc1b..d39bce0f 100644 --- a/archinstall/lib/luks.py +++ b/archinstall/lib/luks.py @@ -179,8 +179,8 @@ class luks2: raise OSError(2, f"Could not import {path} as a disk encryption key, file is missing.", str(path)) log(f'Adding additional key-file {path} for {self.partition}', level=logging.INFO) - - worker = SysCommandWorker(f"/usr/bin/cryptsetup -q -v luksAddKey {self.partition.path} {path}") + worker = SysCommandWorker(f"/usr/bin/cryptsetup -q -v luksAddKey {self.partition.path} {path}", + environment_vars={'LC_ALL':'C'}) pw_injected = False while worker.is_alive(): if b'Enter any existing passphrase' in worker and pw_injected is False: -- cgit v1.2.3-70-g09d2