From 9d1eb5834af34e5b4246263bec2a0f2a0df441b4 Mon Sep 17 00:00:00 2001 From: developomp Date: Fri, 6 May 2022 19:13:11 +0900 Subject: [PATCH] moved `/dev/null` usage to a separate function --- setup.py | 13 ++++++++++--- src/initialize.py | 13 ++++++------- src/util.py | 6 ++++++ 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/setup.py b/setup.py index db1f315..291a719 100755 --- a/setup.py +++ b/setup.py @@ -18,6 +18,13 @@ tmp_dir = "/tmp/com.developomp.setup" # # Util # +# These commands are from `src/util.py`. +# Comments can only be found over there. +# + + +def silent_system(command: str) -> None: + system(f"{command} &> /dev/null") def command_exits(command: str) -> bool: @@ -72,7 +79,7 @@ def exit_if_no_internet(): Pings archlinux.org for testing.""" print("Checking if there's internet connection") - if system("ping -c 1 archlinux.org &> /dev/null"): + if silent_system("ping -c 1 archlinux.org"): print("Failed to connect to internet.", file=sys.stderr) exit(1) @@ -100,8 +107,8 @@ def clone_repository(): cleanup() # clone repository - if system( - f"git clone --depth 1 https://github.com/developomp/setup.git {tmp_dir} &> /dev/null" + if silent_system( + f"git clone --depth 1 https://github.com/developomp/setup.git {tmp_dir}" ): print("Failed to clone repository", file=sys.stderr) exit(1) diff --git a/src/initialize.py b/src/initialize.py index 2679dd7..cb25ea5 100644 --- a/src/initialize.py +++ b/src/initialize.py @@ -1,5 +1,4 @@ -import os - +from src.util import silent_system, paru_install from src import log @@ -9,29 +8,29 @@ def initialize(): """ log.log("Initializing flatpak") - if os.system("sudo pacman -S --noconfirm --needed flatpak &> /dev/null"): + if paru_install("flatpak"): log.error("Failed to install flatpak via pacman") exit(1) log.log("Initializing pip") - if os.system("sudo pacman -S --noconfirm --needed python-pip &> /dev/null"): + if paru_install("python-pip"): log.error("Failed to install pip via pacman") exit(1) # https://pypi.org/project/requests log.log("Initializing requests") - if os.system("pip install requests &> /dev/null"): + if silent_system("pip install requests"): log.error("Failed to install requests via pip") exit(1) # https://pypi.org/project/PyYAML log.log("Initializing PyYAML") - if os.system("pip install PyYAML &> /dev/null"): + if silent_system("pip install PyYAML"): log.error("Failed to install PyYAML via pip") exit(1) # https://github.com/magmax/python-inquirer log.log("Initializing inquirer") - if os.system("pip install inquirer &> /dev/null"): + if silent_system("pip install inquirer"): log.error("Failed to install inquirer via pip") exit(1) diff --git a/src/util.py b/src/util.py index f46e584..ef2a5a4 100644 --- a/src/util.py +++ b/src/util.py @@ -115,6 +115,12 @@ def zsh_system(command: str) -> None: system(f"/usr/bin/zsh -c '{command}'") +def silent_system(command: str) -> None: + """os.system but does not show its log and error to the terminal.""" + + system(f"{command} &> /dev/null") + + def run(command: str) -> list[str]: """Runs command in system shell and return the result. This is a blocking function.