index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | archinstall/lib/user_interaction.py | 33 | ||||
-rw-r--r-- | examples/guided.py | 25 |
diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py index 99cf6274..6756fb50 100644 --- a/archinstall/lib/user_interaction.py +++ b/archinstall/lib/user_interaction.py @@ -130,9 +130,7 @@ def ask_for_additional_users(prompt='Any additional users to install (leave blan return users, super_users def ask_for_a_timezone(): - timezone = input('Enter a valid timezone (examples: Europe/Stockholm, US/Eastern) or press enter to use UTC: ').strip() - if timezone == '': - timezone = 'UTC' + timezone = input('Enter a valid timezone (Example: Europe/Stockholm): ').strip() if (pathlib.Path("/usr")/"share"/"zoneinfo"/timezone).exists(): return timezone else: @@ -186,7 +184,7 @@ def ask_to_configure_network(): elif nic: return nic - return {} + return None def ask_for_disk_layout(): options = { @@ -347,6 +345,7 @@ def select_language(options, show_only_country_codes=True): elif selected_language.isdigit() and (pos := int(selected_language)) <= len(languages)-1: selected_language = languages[pos] + return select_language # I'm leaving "options" on purpose here. # Since languages possibly contains a filtered version of # all possible language layouts, and we might want to write @@ -354,9 +353,9 @@ def select_language(options, show_only_country_codes=True): # go through the search step. elif selected_language in options: selected_language = options[options.index(selected_language)] + return selected_language else: - RequirementError("Selected language does not exist.") - return selected_language + print("Invalid Langue please select a valid option.") raise RequirementError("Selecting languages require a least one language to be given as an option.") @@ -385,21 +384,19 @@ def select_mirror_regions(mirrors, show_top_mirrors=True): print(' -- You can skip this step by leaving the option blank --') selected_mirror = input('Select one of the above regions to download packages from (by number or full name): ') if len(selected_mirror.strip()) == 0: - return {} - - elif selected_mirror.isdigit() and (pos := int(selected_mirror)) <= len(regions)-1: + return {"mirror": None} + + elif selected_mirror.isdigit() and int(selected_mirror) <= len(regions)-1: + # I'm leaving "mirrors" on purpose here. + # Since region possibly contains a known region of + # all possible regions, and we might want to write + # for instance Sweden (if we know that exists) without having to + # go through the search step. region = regions[int(selected_mirror)] selected_mirrors[region] = mirrors[region] - # I'm leaving "mirrors" on purpose here. - # Since region possibly contains a known region of - # all possible regions, and we might want to write - # for instance Sweden (if we know that exists) without having to - # go through the search step. elif selected_mirror in mirrors: selected_mirrors[selected_mirror] = mirrors[selected_mirror] else: - RequirementError("Selected region does not exist.") + print("Selected region does not exist.") - return selected_mirrors - - return None + return selected_mirrors
\ No newline at end of file diff --git a/examples/guided.py b/examples/guided.py index fa644480..e45868ef 100644 --- a/examples/guided.py +++ b/examples/guided.py @@ -23,7 +23,8 @@ def ask_user_questions(): # Set which region to download packages from during the installation if not archinstall.arguments.get('mirror-region', None): - archinstall.arguments['mirror-region'] = archinstall.select_mirror_regions(archinstall.list_mirrors()) + while archinstall.arguments.get("mirror-region",{}) == {}: + archinstall.arguments['mirror-region'] = archinstall.select_mirror_regions(archinstall.list_mirrors()) else: selected_region = archinstall.arguments['mirror-region'] archinstall.arguments['mirror-region'] = {selected_region : archinstall.list_mirrors()[selected_region]} @@ -184,13 +185,16 @@ def ask_user_questions(): archinstall.arguments['packages'] = [package for package in input('Write additional packages to install (space separated, leave blank to skip): ').split(' ') if len(package)] if len(archinstall.arguments['packages']): - # Verify packages that were given - try: - archinstall.log(f"Verifying that additional packages exist (this might take a few seconds)") - archinstall.validate_package_list(archinstall.arguments['packages']) - except archinstall.RequirementError as e: - archinstall.log(e, fg='red') - exit(1) + invalid_packages = True + while invalid_packages == True: + # Verify packages that were given + try: + archinstall.log(f"Verifying that additional packages exist (this might take a few seconds)") + archinstall.validate_package_list(archinstall.arguments['packages']) + invalid_packages = False + except archinstall.RequirementError as e: + archinstall.log(e, fg='red') + invalid_packages = True # Ask or Call the helper function that asks the user to optionally configure a network. if not archinstall.arguments.get('nic', None): @@ -287,11 +291,16 @@ def perform_installation(mountpoint): if installation.minimal_installation(): installation.set_hostname(archinstall.arguments['hostname']) +<<<<<<< HEAD + if archinstall.arguments['mirror-region'] != None: + installation.set_mirrors(archinstall.arguments['mirror-region']) # Set the mirrors in the installation medium +======= # Configure the selected mirrors in the installation if archinstall.arguments.get('mirror-region', None): installation.set_mirrors(archinstall.arguments['mirror-region']) # Set the mirrors in the installation medium +>>>>>>> af2671c1ec1ac2ecbdbd35c90c3e5016dcf516ed installation.set_keyboard_language(archinstall.arguments['keyboard-language']) installation.add_bootloader() |