Add mirror reachability check

Needed error handling
Fix internet connection text not showing up and make it red
This commit is contained in:
Dylan M. Taylor 2021-05-15 22:47:14 -04:00 committed by Dylan Taylor
parent e3c8692bfa
commit 22fc18dc46
2 changed files with 13 additions and 0 deletions

View File

@ -26,6 +26,14 @@ def list_interfaces(skip_loopback=True):
return interfaces
def check_mirror_reachable():
try:
check = SysCommand("pacman -Sy")
return check.exit_code == 0
except:
return False
def enrich_iface_types(interfaces: dict):
result = {}
for iface in interfaces:

View File

@ -4,6 +4,7 @@ import time
import archinstall
from archinstall.lib.hardware import has_uefi
from archinstall.lib.networking import check_mirror_reachable
if archinstall.arguments.get('help'):
print("See `man archinstall` for help.")
@ -387,5 +388,9 @@ def perform_installation(mountpoint):
archinstall.log(f"Disk states after installing: {archinstall.disk_layouts()}", level=logging.DEBUG)
if not check_mirror_reachable():
archinstall.log("Arch Linux mirrors are not reachable. Please check your internet connection and try again.", level=logging.INFO, fg="red")
exit(1)
ask_user_questions()
perform_installation_steps()