New safer text input function
* Avoids EOFError exceptions and just repeats the prompt
This commit is contained in:
parent
b368b27faa
commit
bca9c19053
3 changed files with 66 additions and 0 deletions
11
scripts/wk/__init__.py
Normal file
11
scripts/wk/__init__.py
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
'''WizardKit: wk module init'''
|
||||
|
||||
import wk.cfg
|
||||
import wk.exe
|
||||
import wk.hw
|
||||
import wk.io
|
||||
import wk.kit
|
||||
import wk.net
|
||||
import wk.os
|
||||
import wk.std
|
||||
import wk.sw
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
'''WizardKit: I/O Functions'''
|
||||
# vim: sts=2 sw=2 ts=2
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("This file is not meant to be called directly.")
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
'''WizardKit: Standard Functions'''
|
||||
# vim: sts=2 sw=2 ts=2
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
try:
|
||||
from termios import tcflush, TCIOFLUSH
|
||||
except ImportError:
|
||||
if os.name == 'posix':
|
||||
raise
|
||||
|
||||
|
||||
# STATIC VARIABLES
|
||||
COLORS = {
|
||||
'CLEAR': '\033[0m',
|
||||
'RED': '\033[31m',
|
||||
'ORANGE': '\033[31;1m',
|
||||
'GREEN': '\033[32m',
|
||||
'YELLOW': '\033[33m',
|
||||
'BLUE': '\033[34m',
|
||||
'PURPLE': '\033[35m',
|
||||
'CYAN': '\033[36m',
|
||||
}
|
||||
|
||||
|
||||
# Functions
|
||||
def input_text(prompt='Enter text'):
|
||||
"""Get text from user, returns string."""
|
||||
prompt = str(prompt)
|
||||
response = None
|
||||
if prompt[-1:] != ' ':
|
||||
prompt += ' '
|
||||
|
||||
while response is None:
|
||||
if os.name == 'posix':
|
||||
# Flush input to (hopefully) avoid EOFError
|
||||
tcflush(sys.stdin, TCIOFLUSH)
|
||||
try:
|
||||
response = input(prompt)
|
||||
except EOFError:
|
||||
# Ignore and try again
|
||||
print('')
|
||||
|
||||
return response
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print("This file is not meant to be called directly.")
|
||||
Loading…
Reference in a new issue