better handling the skip partitioning option. (#778)

* better handling the skip partitioning option. plus sending some warnings to the user
* device configuration options taken out from ask_user_questions.
Forced by flake8
* Revert "device configuration options taken out from ask_user_questions."
This reverts commit 1b3cffb3df.
* Adapted to new selection ui
* Cleanup of obsolete code
* Changed colour of skip messages from red to yellow
* Flake8 comments
This commit is contained in:
Werner Llácer 2022-01-02 12:01:19 +01:00 committed by GitHub
parent b7cb77caf9
commit e388537bc3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 12 deletions

View File

@ -96,16 +96,23 @@ def ask_user_questions():
# and convert them into archinstall.BlockDevice() objects. # and convert them into archinstall.BlockDevice() objects.
if archinstall.arguments.get('harddrives', None) is None: if archinstall.arguments.get('harddrives', None) is None:
archinstall.arguments['harddrives'] = archinstall.select_harddrives() archinstall.arguments['harddrives'] = archinstall.select_harddrives()
# we skip the customary .get('harddrives',None) 'cause we are pretty certain that at this point it contains at least none (behaviour has changed from previous version, where it had an empty list. Shouls be compatible with my code
if archinstall.arguments.get('harddrives', None) and archinstall.storage.get('disk_layouts', None) is None: if not archinstall.arguments['harddrives']:
archinstall.log("You decided to skip harddrive selection",fg="yellow",level=logging.INFO)
archinstall.log(f"and will use whatever drive-setup is mounted at {archinstall.storage['MOUNT_POINT']} (experimental)",fg="yellow",level=logging.INFO)
archinstall.log("WARNING: Archinstall won't check the suitability of this setup",fg="yellow",level=logging.INFO)
if input("Do you wish to continue ? [Y/n]").strip().lower() == 'n':
exit(1)
else:
if archinstall.storage.get('disk_layouts', None) is None:
archinstall.storage['disk_layouts'] = archinstall.select_disk_layout(archinstall.arguments['harddrives'], archinstall.arguments.get('advanced', False)) archinstall.storage['disk_layouts'] = archinstall.select_disk_layout(archinstall.arguments['harddrives'], archinstall.arguments.get('advanced', False))
# Get disk encryption password (or skip if blank) # Get disk encryption password (or skip if blank)
if archinstall.arguments['harddrives'] and archinstall.arguments.get('!encryption-password', None) is None: if archinstall.arguments.get('!encryption-password', None) is None:
if passwd := archinstall.get_password(prompt='Enter disk encryption password (leave blank for no encryption): '): if passwd := archinstall.get_password(prompt='Enter disk encryption password (leave blank for no encryption): '):
archinstall.arguments['!encryption-password'] = passwd archinstall.arguments['!encryption-password'] = passwd
if archinstall.arguments['harddrives'] and archinstall.arguments.get('!encryption-password', None): if archinstall.arguments.get('!encryption-password', None):
# If no partitions was marked as encrypted, but a password was supplied and we have some disks to format.. # If no partitions was marked as encrypted, but a password was supplied and we have some disks to format..
# Then we need to identify which partitions to encrypt. This will default to / (root). # Then we need to identify which partitions to encrypt. This will default to / (root).
if len(list(archinstall.encrypted_partitions(archinstall.storage['disk_layouts']))) == 0: if len(list(archinstall.encrypted_partitions(archinstall.storage['disk_layouts']))) == 0: