|
@@ -162,22 +162,29 @@ def gettermsize():
|
|
|
return rows, cols
|
|
|
|
|
|
|
|
|
-def getinput(question, default="", completer=None, width=_defaultwidth):
|
|
|
- if not _readline_available:
|
|
|
- return raw_input(question.ljust(width))
|
|
|
- else:
|
|
|
- def defaulter():
|
|
|
- """define default behavior startup"""
|
|
|
- if _readline_available:
|
|
|
- readline.insert_text(default)
|
|
|
- readline.set_startup_hook(defaulter)
|
|
|
- oldcompleter = readline.get_completer()
|
|
|
+def getinput(question, default="", reader=raw_input,
|
|
|
+ completer=None, width=_defaultwidth):
|
|
|
+ """
|
|
|
+ http://stackoverflow.com/questions/2617057/supply-inputs-to-python-unittests
|
|
|
+ """
|
|
|
+ if reader == raw_input:
|
|
|
+ if not _readline_available:
|
|
|
+ return raw_input(question.ljust(width))
|
|
|
+ else:
|
|
|
+ def defaulter():
|
|
|
+ """define default behavior startup"""
|
|
|
+ if _readline_available:
|
|
|
+ readline.insert_text(default)
|
|
|
+ readline.set_startup_hook(defaulter)
|
|
|
+ oldcompleter = readline.get_completer()
|
|
|
+ readline.set_completer(completer)
|
|
|
+
|
|
|
+ x = raw_input(question.ljust(width))
|
|
|
readline.set_completer(completer)
|
|
|
-
|
|
|
- x = raw_input(question.ljust(width))
|
|
|
- readline.set_completer(completer)
|
|
|
- readline.set_startup_hook()
|
|
|
- return x
|
|
|
+ readline.set_startup_hook()
|
|
|
+ return x
|
|
|
+ else:
|
|
|
+ return reader
|
|
|
|
|
|
|
|
|
def getyesno(question, defaultyes=False, width=_defaultwidth):
|