From 192aff0b94e2edfd3ae668751a86926540a4af74 Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Wed, 21 Jan 2026 21:58:40 -0500 Subject: [PATCH] Replace sys.exit calls with return values (#4156) --- archinstall/__main__.py | 4 +++- archinstall/main.py | 19 +++++++++++++------ archinstall/scripts/guided.py | 3 +-- archinstall/scripts/minimal.py | 3 +-- archinstall/scripts/only_hd.py | 3 +-- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/archinstall/__main__.py b/archinstall/__main__.py index 9065b811..bdefd0ed 100644 --- a/archinstall/__main__.py +++ b/archinstall/__main__.py @@ -1,4 +1,6 @@ +import sys + from archinstall.main import main if __name__ == '__main__': - main() + sys.exit(main()) diff --git a/archinstall/main.py b/archinstall/main.py index 1b6e5968..cd75fa38 100644 --- a/archinstall/main.py +++ b/archinstall/main.py @@ -32,7 +32,7 @@ def _log_sys_info() -> None: debug(f'Disk states before installing:\n{disk_layouts()}') -def _check_online() -> None: +def _check_online() -> bool: try: ping('1.1.1.1') except OSError as ex: @@ -40,10 +40,12 @@ def _check_online() -> None: if not arch_config_handler.args.skip_wifi_check: success = not wifi_handler.setup() if not success: - sys.exit(0) + return False + + return True -def _fetch_arch_db() -> None: +def _fetch_arch_db() -> bool: info('Fetching Arch Linux package database...') try: Pacman.run('-Sy') @@ -55,7 +57,9 @@ def _fetch_arch_db() -> None: error('Run archinstall --debug and check /var/log/archinstall/install.log for details.') debug(f'Failed to sync Arch Linux package database: {e}') - sys.exit(1) + return False + + return True def run() -> int: @@ -75,8 +79,11 @@ def run() -> int: _log_sys_info() if not arch_config_handler.args.offline: - _check_online() - _fetch_arch_db() + if not _check_online(): + return 0 + + if not _fetch_arch_db(): + return 1 if not arch_config_handler.args.skip_version_check: upgrade = check_version_upgrade() diff --git a/archinstall/scripts/guided.py b/archinstall/scripts/guided.py index 10cc49af..df60c8fa 100644 --- a/archinstall/scripts/guided.py +++ b/archinstall/scripts/guided.py @@ -1,5 +1,4 @@ import os -import sys import time from pathlib import Path @@ -192,7 +191,7 @@ def guided() -> None: config.save() if arch_config_handler.args.dry_run: - sys.exit(0) + return if not arch_config_handler.args.silent: aborted = False diff --git a/archinstall/scripts/minimal.py b/archinstall/scripts/minimal.py index ab71f889..d1912318 100644 --- a/archinstall/scripts/minimal.py +++ b/archinstall/scripts/minimal.py @@ -1,4 +1,3 @@ -import sys from pathlib import Path from archinstall.default_profiles.minimal import MinimalProfile @@ -68,7 +67,7 @@ def _minimal() -> None: config.save() if arch_config_handler.args.dry_run: - sys.exit(0) + return if not arch_config_handler.args.silent: aborted = False diff --git a/archinstall/scripts/only_hd.py b/archinstall/scripts/only_hd.py index de113c55..bdc908b5 100644 --- a/archinstall/scripts/only_hd.py +++ b/archinstall/scripts/only_hd.py @@ -1,4 +1,3 @@ -import sys from pathlib import Path from archinstall.lib.args import arch_config_handler @@ -64,7 +63,7 @@ def _only_hd() -> None: config.save() if arch_config_handler.args.dry_run: - sys.exit(0) + return if not arch_config_handler.args.silent: aborted = False