summaryrefslogtreecommitdiffstats
path: root/config/run-and-prefix.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /config/run-and-prefix.py
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'config/run-and-prefix.py')
-rw-r--r--config/run-and-prefix.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/config/run-and-prefix.py b/config/run-and-prefix.py
new file mode 100644
index 0000000000..af27e6743b
--- /dev/null
+++ b/config/run-and-prefix.py
@@ -0,0 +1,36 @@
+#!/usr/bin/env python
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This script runs a process and prefixes its output with.
+# Usage: run-and-prefix.py prefix command arg0 argv1...
+
+import os
+import subprocess
+import sys
+
+sys.stdout = os.fdopen(sys.stdout.fileno(), "wb", 0)
+sys.stderr = os.fdopen(sys.stderr.fileno(), "wb", 0)
+
+prefix = sys.argv[1].encode("utf-8")
+args = sys.argv[2:]
+
+p = subprocess.Popen(
+ args,
+ bufsize=0,
+ stdout=subprocess.PIPE,
+ stderr=subprocess.STDOUT,
+ stdin=sys.stdin.fileno(),
+ close_fds=False,
+)
+
+while True:
+ data = p.stdout.readline()
+
+ if data == b"":
+ break
+
+ sys.stdout.write(b"%s> %s" % (prefix, data))
+
+sys.exit(p.wait())