From 59b55bac6c83b652d2507aa678d86844a9ac35f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Tronel?= Date: Wed, 20 Dec 2023 09:56:39 +0100 Subject: [PATCH] Make mkvmerge speaks english for its outputs so that the code is neutral with respect to locally installed languages. --- removeads.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/removeads.py b/removeads.py index 6e9ae4f..b6d1cd1 100755 --- a/removeads.py +++ b/removeads.py @@ -773,17 +773,18 @@ def extractMKVPart(mkvmerge, inputFile, outputFile, begin, end): lseek(outfd, 0, SEEK_SET) set_inheritable(infd, True) set_inheritable(outfd, True) + env = {**os.environ, 'LANG': 'C'} warnings = [] - with Popen([mkvmerge, '-o', '/proc/self/fd/%d' % outfd, '--split', 'parts:%s-%s' % (begin, end), '/proc/self/fd/%d' % infd], stdout=PIPE, close_fds=False) as mkvmerge: + with Popen([mkvmerge, '-o', '/proc/self/fd/%d' % outfd, '--split', 'parts:%s-%s' % (begin, end), '/proc/self/fd/%d' % infd], stdout=PIPE, close_fds=False, env=env) as mkvmerge: pb = tqdm(TextIOWrapper(mkvmerge.stdout, encoding="utf-8"), total=100, unit='%', desc='Extraction') for line in pb: - if line.startswith('Progression :'): - p = re.compile('^Progression : (?P[0-9]{1,3})%$') + if line.startswith('Progress :'): + p = re.compile('^Progress : (?P[0-9]{1,3})%$') m = p.match(line) if m == None: logger.error('Impossible to parse progress') pb.update(int(m['progress'])-pb.n) - elif line.startswith('Avertissement'): + elif line.startswith('Warning'): warnings.append(line) pb.update(100-pb.n) pb.refresh() @@ -1079,17 +1080,18 @@ def mergeMKVs(inputs, outputName): # We merge all files. warnings = [] - with Popen(mergeParams, stdout=PIPE, close_fds=False) as mkvmerge: + env = {**os.environ, 'LANG': 'C'} + with Popen(mergeParams, stdout=PIPE, close_fds=False, env=env) as mkvmerge: pb = tqdm(TextIOWrapper(mkvmerge.stdout, encoding="utf-8"), total=100, unit='%', desc='Merging') for line in pb: - if line.startswith('Progression :'): - p = re.compile('^Progression : (?P[0-9]{1,3})%$') + if line.startswith('Progress :'): + p = re.compile('^Progress : (?P[0-9]{1,3})%$') m = p.match(line) if m == None: logger.error('Impossible to parse progress') pb.n = int(m['progress']) pb.update() - elif line.startswith('Avertissement'): + elif line.startswith('Warning'): warnings.append(line) status = mkvmerge.wait()