More error handling and fixed a spelling error.

This commit is contained in:
Anton Hvornum 2021-09-15 19:16:30 +02:00
parent 1a7056efc4
commit 2cfbafc653
1 changed files with 6 additions and 3 deletions

View File

@ -56,14 +56,17 @@ def load_config():
archinstall.storage['_selected_servers'] = archinstall.arguments.get('servers', None)
if archinstall.arguments.get('disk_layouts', None) is not None:
if (dl_path := pathlib.Path(archinstall.arguments['disk_layouts'])).exists() and str(dl_path).endswith('.json'):
with open(dl_path) as fh:
archinstall.arguments['disk_layouts'] = json.load(fh)
try:
with open(dl_path) as fh:
archinstall.arguments['disk_layouts'] = json.load(fh)
except Exception as e:
raise ValueError(f"--disk_layouts does not contain a valid JSON format: {e}")
else:
try:
archinstall.arguments['disk_layouts'] = json.loads(archinstall.arguments['disk_layouts'])
except:
raise ValueError("--disk_layouts=<json> needs either a JSON file or a JSON string given with a valid disk layout.")
archinstall.storage['disk_layouts'] = {archinstall.BlockDevice(disk) : struct for disk, struct in archinstall.arguments['disk_layouts']}
archinstall.storage['disk_layouts'] = {archinstall.BlockDevice(disk) : struct for disk, struct in archinstall.arguments['disk_layouts'].items()}
def ask_user_questions():