From c9322fa983624bfaa23dce6786691fa2adbc65e2 Mon Sep 17 00:00:00 2001 From: Benjamin Tissoires Date: Mon, 31 Jul 2017 16:23:08 +0100 Subject: [PATCH] tools: ratbagctl.devel: do not spawn a subprocess to run a python script We do not really care using the actual ratbagctl command, we just want to run it. So we can simply call out the python functions directly and live happily ever after. Signed-off-by: Benjamin Tissoires --- tools/ratbagctl.devel.in | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/tools/ratbagctl.devel.in b/tools/ratbagctl.devel.in index 828cff94..aee606ff 100755 --- a/tools/ratbagctl.devel.in +++ b/tools/ratbagctl.devel.in @@ -27,7 +27,6 @@ import os import toolbox -import subprocess import sys @@ -35,15 +34,19 @@ def main(argv): if not os.geteuid() == 0: sys.exit('Script must be run as root') - ratbagd = toolbox.start_ratbagd() + if not argv: + argv = ["list"] + + ratbagd_process = toolbox.start_ratbagd() + + ratbagd = toolbox.open_ratbagd() + parser = toolbox.get_parser() try: - ratbagctl = subprocess.Popen(" ".join([toolbox.RATBAGCTL_PATH, *sys.argv[1:]])) - - ratbagctl.wait() - except KeyboardInterrupt: - pass - toolbox.terminate_ratbagd(ratbagd) + cmd = parser.parse(argv) + cmd.func(ratbagd, cmd) + finally: + toolbox.terminate_ratbagd(ratbagd_process) if __name__ == "__main__":