From 9c2ae873f2e52a596b60a277b64d8cf2130eba40 Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Fri, 27 Sep 2024 14:01:38 +0200 Subject: live: disable browser operations if the binary is missing Add shutils.which checks before every browser operations to skip the subprocess call if the binary is missing. --- ogclient | 4 +++- src/live/ogOperations.py | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ogclient b/ogclient index b302641..39aa3a6 100755 --- a/ogclient +++ b/ogclient @@ -13,6 +13,7 @@ import logging import argparse import platform import subprocess +import shutil try: from signal import SIG_DFL, SIGPIPE except ImportError: @@ -79,7 +80,8 @@ def main(): LOGLEVEL = CONFIG['opengnsys']['log'] if MODE == 'live': - proc = subprocess.Popen(["browser", "-qws", URL]) + if shutil.which('browser'): + proc = subprocess.Popen(["browser", "-qws", URL]) if MODE != 'windows': signal.signal(SIGPIPE, SIG_DFL) diff --git a/src/live/ogOperations.py b/src/live/ogOperations.py index 76999ba..77e6514 100644 --- a/src/live/ogOperations.py +++ b/src/live/ogOperations.py @@ -48,6 +48,9 @@ class OgLiveOperations: self._smb_pass = config['samba']['pass'] def _restartBrowser(self, url): + if not shutil.which('browser'): + return + try: proc = subprocess.call(["pkill", "-9", "browser"]) proc = subprocess.Popen(["browser", "-qws", url]) @@ -353,7 +356,7 @@ class OgLiveOperations: umount_cache() if subprocess.run(cmd_ethtool).returncode != 0: logging.error('Error running ethtool subprocess') - if subprocess.run(cmd_browser).returncode != 0: + if shutil.which('browser') and subprocess.run(cmd_browser).returncode != 0: logging.error('Error terminating ogBrowser process') if subprocess.run(cmd_busybox) != 0: logging.error('Error running "busybox poweroff" subprocess') -- cgit v1.2.3-18-g5258