From 070d088462aeabdc4e62893829a024b5a36b5e00 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Wed, 24 Nov 2021 21:33:53 +0100 Subject: Added error handling to guided surrounding disk_layouts --- examples/guided.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'examples') diff --git a/examples/guided.py b/examples/guided.py index 4e90ec54..bd701bc9 100644 --- a/examples/guided.py +++ b/examples/guided.py @@ -209,10 +209,11 @@ def perform_filesystem_operations(): archinstall.log(user_configuration, level=logging.INFO) with open("/var/log/archinstall/user_configuration.json", "w") as config_file: config_file.write(user_configuration) - user_disk_layout = json.dumps(archinstall.storage['disk_layouts'], indent=4, sort_keys=True, cls=archinstall.JSON) - archinstall.log(user_disk_layout, level=logging.INFO) - with open("/var/log/archinstall/user_disk_layout.json", "w") as disk_layout_file: - disk_layout_file.write(user_disk_layout) + if archinstall.storage.get('disk_layouts'): + user_disk_layout = json.dumps(archinstall.storage['disk_layouts'], indent=4, sort_keys=True, cls=archinstall.JSON) + archinstall.log(user_disk_layout, level=logging.INFO) + with open("/var/log/archinstall/user_disk_layout.json", "w") as disk_layout_file: + disk_layout_file.write(user_disk_layout) print() if archinstall.arguments.get('dry-run'): @@ -238,9 +239,10 @@ def perform_filesystem_operations(): if archinstall.has_uefi() is False: mode = archinstall.MBR - for drive in archinstall.arguments['harddrives']: - with archinstall.Filesystem(drive, mode) as fs: - fs.load_layout(archinstall.storage['disk_layouts'][drive.path]) + for drive in archinstall.arguments.get('harddrives', []): + if archinstall.storage.get('disk_layouts', {}).get(drive.path): + with archinstall.Filesystem(drive, mode) as fs: + fs.load_layout(archinstall.storage['disk_layouts'][drive.path]) def perform_installation(mountpoint): user_credentials = {} @@ -262,7 +264,8 @@ def perform_installation(mountpoint): with archinstall.Installer(mountpoint, kernels=archinstall.arguments.get('kernels', 'linux')) as installation: # Mount all the drives to the desired mountpoint # This *can* be done outside of the installation, but the installer can deal with it. - installation.mount_ordered_layout(archinstall.storage['disk_layouts']) + if archinstall.storage.get('disk_layouts'): + installation.mount_ordered_layout(archinstall.storage['disk_layouts']) # Placing /boot check during installation because this will catch both re-use and wipe scenarios. for partition in installation.partitions: -- cgit v1.2.3-54-g00ecf