'''WizardKit: Standard Functions''' # vim: sts=2 sw=2 ts=2 import logging 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', } LOG = logging.getLogger(__name__) # 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) LOG.debug('%s.input_text response: %s', __name__, response) except EOFError: # Ignore and try again LOG.warning('Exception occured', exc_info=True) print('', flush=True) return response if __name__ == '__main__': print("This file is not meant to be called directly.")