From 435d2f687eda1548e56270787b11f024e2a8e08d Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Mon, 25 Jan 2021 00:09:34 +0100 Subject: Added some more fields to the configuration output, as well as added a better fail safe for the logging output. Any exception during the installation will be caught by __exit__ in Installer(), hopefully. --- examples/guided.py | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'examples/guided.py') diff --git a/examples/guided.py b/examples/guided.py index 7726d5b9..f6c80969 100644 --- a/examples/guided.py +++ b/examples/guided.py @@ -85,6 +85,7 @@ archinstall.sys_command(f'cryptsetup close /dev/mapper/luksloop', suppress_error if len(keyboard_language := archinstall.select_language(archinstall.list_keyboard_languages()).strip()): archinstall.set_keyboard_language(keyboard_language) + archinstall.storage['_guided']['keyboard_layout'] = keyboard_language # Create a storage structure for all our information. # We'll print this right before the user gets informed about the formatting timer. @@ -102,6 +103,7 @@ while (disk_password := getpass.getpass(prompt='Enter disk encryption password ( if disk_password != disk_password_verification: archinstall.log(' * Passwords did not match * ', bg='black', fg='red') continue + archinstall.storage['_guided']['disk_encryption'] = True break archinstall.storage['_guided']['harddrive'] = harddrive @@ -118,7 +120,10 @@ while (root_pw := getpass.getpass(prompt='Enter root password (leave blank to le archinstall.log(' * Passwords did not match * ', bg='black', fg='red') continue + # Storing things in _guided_hidden helps us avoid printing it + # when echoing user configuration: archinstall.storage['_guided'] archinstall.storage['_guided_hidden']['root_pw'] = root_pw + archinstall.storage['_guided']['root_unlocked'] = True break # Ask for additional users (super-user if root pw was not set) -- cgit v1.2.3-70-g09d2 From 40622265a214be0531482ee91ffa61ef2431ae43 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Mon, 25 Jan 2021 00:11:34 +0100 Subject: Simplified the code a bit by removing the log file setup. It's not handled by archinstall.output.log(). Also moved two variable setups to the top. --- examples/guided.py | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'examples/guided.py') diff --git a/examples/guided.py b/examples/guided.py index f6c80969..9252d235 100644 --- a/examples/guided.py +++ b/examples/guided.py @@ -1,15 +1,10 @@ import getpass, time, json, sys, signal, os import archinstall -# Setup a global log file. -# Archinstall will honor storage['logfile'] in most of it's functions log handle. -log_root = os.path.join(os.path.expanduser('~/'), '.cache/archinstall') -if not os.path.isdir(log_root): - os.makedirs(log_root) - -init_time = time.strftime('%Y-%m-%d_%H-%M-%S') -milliseconds = int(str(time.time()).split('.')[1]) -archinstall.storage['logfile'] = f"{log_root}/install-session_{init_time}.{milliseconds}.log" +# Create a storage structure for all our information. +# We'll print this right before the user gets informed about the formatting timer. +archinstall.storage['_guided'] = {} +archinstall.storage['_guided_hidden'] = {} # This will simply be hidden from printouts and things. """ This signal-handler chain (and global variable) @@ -77,6 +72,7 @@ def perform_installation(device, boot_partition, language, mirrors): archinstall.sys_command(f'umount -R /mnt', suppress_errors=True) archinstall.sys_command(f'cryptsetup close /dev/mapper/luksloop', suppress_errors=True) + """ First, we'll ask the user for a bunch of user input. Not until we're satisfied with what we want to install @@ -87,11 +83,6 @@ if len(keyboard_language := archinstall.select_language(archinstall.list_keyboar archinstall.set_keyboard_language(keyboard_language) archinstall.storage['_guided']['keyboard_layout'] = keyboard_language -# Create a storage structure for all our information. -# We'll print this right before the user gets informed about the formatting timer. -archinstall.storage['_guided'] = {} -archinstall.storage['_guided_hidden'] = {} # This will simply be hidden from printouts and things. - # Set which region to download packages from during the installation mirror_regions = archinstall.select_mirror_regions(archinstall.list_mirrors()) archinstall.storage['_guided']['mirrors'] = mirror_regions -- cgit v1.2.3-70-g09d2