Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-01-25 23:52:55 +0100
committerGitHub <noreply@github.com>2021-01-25 23:52:55 +0100
commit6cac9b86106ae6153946da866296beefb58420a3 (patch)
tree1d4bc9978305dcf4a589c03f580db8908063470a /examples
parent190ec7ad42bc59b7238b77dc4d7f3128e2f1eb78 (diff)
parent165d4ebc7f420d99eef453b785a86a51ceec8669 (diff)
Merge pull request #95 from Torxed/improved-logging
Tested and verified on a installation. Log file ends up and on errors there's a message printing guiding users to look for it and report issues :)
Diffstat (limited to 'examples')
-rw-r--r--examples/guided.py24
1 files changed, 10 insertions, 14 deletions
diff --git a/examples/guided.py b/examples/guided.py
index ab284721..f0620b05 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)
@@ -84,6 +79,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
@@ -92,11 +88,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)
-
-# 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.
+ archinstall.storage['_guided']['keyboard_layout'] = keyboard_language
# Set which region to download packages from during the installation
mirror_regions = archinstall.select_mirror_regions(archinstall.list_mirrors())
@@ -109,6 +101,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
@@ -125,7 +118,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)