Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds+github@gmail.com>2020-11-11 20:20:46 +0000
committerAnton Hvornum <anton.feeds+github@gmail.com>2020-11-11 20:20:46 +0000
commitb3bcf54a2cb915b8dd9f59d6a85a5ea45f61fd96 (patch)
tree29976dab28106baa067552fc523aa78f42c58eb0
parentabfeeb8dd0cadadbe38310e96a61e31088652d82 (diff)
Fixed generic_select() to accept (and break on) empty selects.
-rw-r--r--archinstall/lib/user_interaction.py4
-rw-r--r--examples/guided.py53
2 files changed, 30 insertions, 27 deletions
diff --git a/archinstall/lib/user_interaction.py b/archinstall/lib/user_interaction.py
index 29dfaed2..fdbabe96 100644
--- a/archinstall/lib/user_interaction.py
+++ b/archinstall/lib/user_interaction.py
@@ -24,7 +24,9 @@ def generic_select(options, input_text="Select one of the above by index or abso
print(f"{index}: {option}")
selected_option = input(input_text)
- if selected_option.isdigit():
+ if len(selected_option.strip()) <= 0:
+ return None
+ elif selected_option.isdigit():
selected_option = options[int(selected_option)]
elif selected_option in options:
pass # We gave a correct absolute value
diff --git a/examples/guided.py b/examples/guided.py
index 4edc593e..039296c8 100644
--- a/examples/guided.py
+++ b/examples/guided.py
@@ -184,32 +184,33 @@ while 1:
print(e)
# Optionally configure one network interface.
-while 1:
- interfaces = archinstall.list_interfaces() # {MAC: Ifname}
- archinstall.storage['_guided']['network'] = None
-
- nic = archinstall.generic_select(interfaces.values(), "Select one network interface to configure (leave blank to skip): ")
- if nic:
- mode = archinstall.generic_select(['DHCP (auto detect)', 'IP (static)'], f"Select which mode to configure for {nic}: ")
- if mode == 'IP (static)':
- while 1:
- ip = input(f"Enter the IP and subnet for {nic} (example: 192.168.0.5/24): ").strip()
- if ip:
- break
- else:
- ArchInstall.log(
- "You need to enter a valid IP in IP-config mode.",
- level=archinstall.LOG_LEVELS.Warning,
- bg='black',
- fg='red'
- )
-
- gateway = input('Enter your gateway (router) IP address or leave blank for none: ').strip()
- dns = input('Enter your DNS servers (space separated, blank for none): ').strip().split(' ')
-
- archinstall.storage['_guided']['network'] = {'nic': nic, 'dhcp': False, 'ip': ip, 'gateway' : gateway, 'dns' : dns}
- else:
- archinstall.storage['_guided']['network'] = {'nic': nic}
+#while 1:
+interfaces = archinstall.list_interfaces() # {MAC: Ifname}
+archinstall.storage['_guided']['network'] = None
+
+nic = archinstall.generic_select(interfaces.values(), "Select one network interface to configure (leave blank to skip): ")
+if nic:
+ mode = archinstall.generic_select(['DHCP (auto detect)', 'IP (static)'], f"Select which mode to configure for {nic}: ")
+ if mode == 'IP (static)':
+ while 1:
+ ip = input(f"Enter the IP and subnet for {nic} (example: 192.168.0.5/24): ").strip()
+ if ip:
+ break
+ else:
+ ArchInstall.log(
+ "You need to enter a valid IP in IP-config mode.",
+ level=archinstall.LOG_LEVELS.Warning,
+ bg='black',
+ fg='red'
+ )
+
+ gateway = input('Enter your gateway (router) IP address or leave blank for none: ').strip()
+ dns = input('Enter your DNS servers (space separated, blank for none): ').strip().split(' ')
+
+ archinstall.storage['_guided']['network'] = {'nic': nic, 'dhcp': False, 'ip': ip, 'gateway' : gateway, 'dns' : dns}
+ else:
+ archinstall.storage['_guided']['network'] = {'nic': nic}
+
print()
print('This is your chosen configuration:')