summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2019-12-10 21:23:28 +0100
committerDaniil Baturin <daniil@baturin.org>2019-12-10 21:23:28 +0100
commit72529acccabd95aba961a547e4f51dff303d9e81 (patch)
treea4ae44c7462a2955ae082962bbdca218adac171d
parent479a345e9ae6cb132498724e2285f6674a54a3c8 (diff)
downloadvyos-1x-72529acccabd95aba961a547e4f51dff303d9e81.tar.gz
vyos-1x-72529acccabd95aba961a547e4f51dff303d9e81.zip
Backport the ask_yes_no function.
-rw-r--r--python/vyos/util.py15
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")