Handle no internet connection gracefully (#1361)
* Handle no internet connection gracefully * Update * flake8 * Update * Update Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
This commit is contained in:
parent
1bd2210e5f
commit
31e6eca3af
|
|
@ -4,7 +4,7 @@ import socket
|
|||
import struct
|
||||
from typing import Union, Dict, Any, List
|
||||
|
||||
from .exceptions import HardwareIncompatibilityError
|
||||
from .exceptions import HardwareIncompatibilityError, SysCallError
|
||||
from .general import SysCommand
|
||||
from .output import log
|
||||
from .pacman import run_pacman
|
||||
|
|
@ -33,14 +33,17 @@ def list_interfaces(skip_loopback :bool = True) -> Dict[str, str]:
|
|||
|
||||
def check_mirror_reachable() -> bool:
|
||||
log("Testing connectivity to the Arch Linux mirrors ...", level=logging.INFO)
|
||||
if run_pacman("-Sy").exit_code == 0:
|
||||
return True
|
||||
|
||||
elif os.geteuid() != 0:
|
||||
log("check_mirror_reachable() uses 'pacman -Sy' which requires root.", level=logging.ERROR, fg="red")
|
||||
try:
|
||||
if run_pacman("-Sy").exit_code == 0:
|
||||
return True
|
||||
elif os.geteuid() != 0:
|
||||
log("check_mirror_reachable() uses 'pacman -Sy' which requires root.", level=logging.ERROR, fg="red")
|
||||
except SysCallError as err:
|
||||
log(err, level=logging.DEBUG)
|
||||
|
||||
return False
|
||||
|
||||
|
||||
def update_keyring() -> bool:
|
||||
log("Updating archlinux-keyring ...", level=logging.INFO)
|
||||
if run_pacman("-Sy --noconfirm archlinux-keyring").exit_code == 0:
|
||||
|
|
|
|||
Loading…
Reference in New Issue