diff options
author | Daniil Baturin <daniil@baturin.org> | 2019-12-10 21:23:28 +0100 |
---|---|---|
committer | Daniil Baturin <daniil@baturin.org> | 2019-12-10 21:23:28 +0100 |
commit | 72529acccabd95aba961a547e4f51dff303d9e81 (patch) | |
tree | a4ae44c7462a2955ae082962bbdca218adac171d | |
parent | 479a345e9ae6cb132498724e2285f6674a54a3c8 (diff) | |
download | vyos-1x-72529acccabd95aba961a547e4f51dff303d9e81.tar.gz vyos-1x-72529acccabd95aba961a547e4f51dff303d9e81.zip |
Backport the ask_yes_no function.
-rw-r--r-- | python/vyos/util.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/python/vyos/util.py b/python/vyos/util.py index 6ab606983..d2e58bef2 100644 --- a/python/vyos/util.py +++ b/python/vyos/util.py @@ -16,6 +16,7 @@ import os import re import grp +import sys import time import subprocess @@ -176,3 +177,17 @@ def wait_for_commit_lock(): while commit_in_progress(): time.sleep(1) +def ask_yes_no(question, default=False) -> bool: + """Ask a yes/no question via input() and return their answer.""" + default_msg = "[Y/n]" if default else "[y/N]" + while True: + sys.stdout.write("%s %s " % (question, default_msg)) + c = input().lower().strip() + if c == '': + return default + elif c in ("y", "ye", "yes"): + return True + elif c in ("n", "no"): + return False + else: + sys.stdout.write("Please respond with yes/y or no/n\n") |