-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlogger.py
More file actions
33 lines (27 loc) · 1.02 KB
/
logger.py
File metadata and controls
33 lines (27 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
class Logger:
def __init__(self, silent = False):
self.silent = silent
def log(self, message, important = False):
if important or not self.silent:
print(message)
def ask(self, question):
return input(question + " ")
def ask_yn(self, question, default="yes"):
valid = {"yes": True, "y": True, "ye": True,
"no": False, "n": False}
if default is None:
prompt = " [y/n]"
elif default == "yes":
prompt = " [Y/n]"
elif default == "no":
prompt = " [y/N]"
else:
raise ValueError("invalid default answer: '%s" % default)
while True:
choice = self.ask(question + prompt).lower()
if default is not None and choice == '':
return valid[default]
elif choice in valid:
return valid[choice]
else:
self.log("Please respond with 'yes' or 'no (or 'y', 'n' or '[ENTER]').")