Here are list of changes:
- Added IP/subnet validation using Python's `ipaddress` module
- Added workaround for network configuration modes where user can enter DHCP or IP without brackets.
- Returned local printing options for some functions to keep `The above list...`
- Moved booleans for `generic_select` below options and text parameters
- Imported some functions from `archinstall` to reduce the`archinstall.` part of the lines.
- Reduced variable name length for simplicity
- Fixed some typos
Here are list of changes:
> From now on, `generic_select` will be called "Select function", for clarity
- Slightly updated select function
- Removed options output for some functions, where it's better to do with select function
- Added sorting for all lists passed to select function
- Replaced `dict.values()` with `dict` as options parameter
- Simplified input checking for all functions that use the select function
- Added temporary *(for now)* workaround for passing `?` and `help` inputs
- Merged fix for `partition.format()`
Here are list of changes:
- Removed `sort` parameter, since every function has a sorted list in most cases
- Added two new parameters to disable local output of options items and allow empty input from the user by returning None
- Added a while loop, where it returns each time a RequirementError is raised
- Added log info for each input error to help figure out what the problem is
- Changed the check of the stripped input length to compare with 0, since the length cannot be less than 0
- Changed `isdigit` to `isnumeric`, which returns False if given digit is negative
- Slightly changed a check for an out of range error
- Removed displaying the list of available options when input is incorrect, in order to prevent the screen from overflowing
- Added log info if options list is empty
- Added log info if options are not dictionary or list
- Added dictionary values conversion to accept only list and dictionaries as option
- Added sorting dictionary values by default