summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-09-27 14:01:38 +0200
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-09-27 14:27:00 +0200
commit9c2ae873f2e52a596b60a277b64d8cf2130eba40 (patch)
tree55a6d2705fce19dd308e6364a9cdf600087723b3
parent8754c21694b5dff69105a0d9b739dd87088626ee (diff)
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.
-rwxr-xr-xogclient4
-rw-r--r--src/live/ogOperations.py5
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')