From 242f8076bb7679a565433e30c61662c70f37b06f Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Wed, 10 Aug 2022 11:02:24 +0200 Subject: Adding better error output for when loading remote configurations goes wrong. (#1415) --- archinstall/lib/general.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/archinstall/lib/general.py b/archinstall/lib/general.py index 27f444e8..9edbaea8 100644 --- a/archinstall/lib/general.py +++ b/archinstall/lib/general.py @@ -12,6 +12,7 @@ import time import re import urllib.parse import urllib.request +import urllib.error import pathlib from datetime import datetime, date from typing import Callable, Optional, Dict, Any, List, Union, Iterator, TYPE_CHECKING @@ -548,8 +549,12 @@ def json_stream_to_structure(configuration_identifier : str, stream :str, target parsed_url = urllib.parse.urlparse(stream) if parsed_url.scheme: # The stream is in fact a URL that should be grabbed - with urllib.request.urlopen(urllib.request.Request(stream, headers={'User-Agent': 'ArchInstall'})) as response: - target.update(json.loads(response.read())) + try: + with urllib.request.urlopen(urllib.request.Request(stream, headers={'User-Agent': 'ArchInstall'})) as response: + target.update(json.loads(response.read())) + except urllib.error.HTTPError as error: + log(f"Could not load {configuration_identifier} via {parsed_url} due to: {error}", level=logging.ERROR, fg="red") + return False else: if pathlib.Path(stream).exists(): try: -- cgit v1.2.3-54-g00ecf