diff options
author | Christian Breunig <christian@breunig.cc> | 2024-04-08 07:37:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-08 07:37:50 +0200 |
commit | 41abc307f4236bb68b1b6a2ba0f2a8eec6b3b314 (patch) | |
tree | 8da8c9fa5852674751c033d48252bbb549749179 /python | |
parent | 08b5ee0a694344855ba81856238c238b8426a00a (diff) | |
parent | 619e2262e77621c6110164712fed0a42f16715e3 (diff) | |
download | vyos-1x-41abc307f4236bb68b1b6a2ba0f2a8eec6b3b314.tar.gz vyos-1x-41abc307f4236bb68b1b6a2ba0f2a8eec6b3b314.zip |
Merge pull request #3278 from jestabro/default-config-choice
T6207: restore ability to copy config.boot.default on image install
Diffstat (limited to 'python')
-rw-r--r-- | python/vyos/utils/io.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/python/vyos/utils/io.py b/python/vyos/utils/io.py index 0afaf695c..7e6045291 100644 --- a/python/vyos/utils/io.py +++ b/python/vyos/utils/io.py @@ -13,7 +13,7 @@ # You should have received a copy of the GNU Lesser General Public # License along with this library. If not, see <http://www.gnu.org/licenses/>. -from typing import Callable +from typing import Callable, Optional def print_error(str='', end='\n'): """ @@ -81,7 +81,8 @@ def is_dumb_terminal(): return os.getenv('TERM') in ['vt100', 'dumb'] def select_entry(l: list, list_msg: str = '', prompt_msg: str = '', - list_format: Callable = None,) -> str: + list_format: Optional[Callable] = None, + default_entry: Optional[int] = None) -> str: """Select an entry from a list Args: @@ -99,6 +100,9 @@ def select_entry(l: list, list_msg: str = '', prompt_msg: str = '', print(f'\t{i}: {list_format(e)}') else: print(f'\t{i}: {e}') - select = ask_input(prompt_msg, numeric_only=True, - valid_responses=range(1, len(l)+1)) + valid_entry = range(1, len(l)+1) + if default_entry and default_entry not in valid_entry: + default_entry = None + select = ask_input(prompt_msg, default=default_entry, numeric_only=True, + valid_responses=valid_entry) return next(filter(lambda x: x[0] == select, en))[1] |