Python termios.TCSADRAIN Examples
The following are 30
code examples of termios.TCSADRAIN().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
termios
, or try the search function
.
Example #1
Source File: getch.py From flyingros with GNU General Public License v3.0 | 6 votes |
def __call__(self): import sys, tty, termios from select import select fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) # [ Wait until ready for reading, # wait until ready for writing # wait for an "exception condition" ] # The below line times out after 1 second # This can be changed to a floating-point value if necessary [i, o, e] = select([sys.stdin.fileno()], [], [], 1) if i: ch = sys.stdin.read(1) else: ch = None finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #2
Source File: _termui_impl.py From recruit with Apache License 2.0 | 6 votes |
def raw_terminal(): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) yield fd finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass
Example #3
Source File: _termui_impl.py From Financial-Portfolio-Flask with MIT License | 6 votes |
def getchar(echo): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = os.read(fd, 32) if echo and isatty(sys.stdout): sys.stdout.write(ch) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass _translate_ch_to_exc(ch) return ch.decode(get_best_encoding(sys.stdin), 'replace')
Example #4
Source File: __init__.py From funky with MIT License | 6 votes |
def getch(prompt=None): """Reads a single character from stdin. Args: prompt (optional): prompt that is presented to user. Returns: The single character that was read. """ if prompt: sys.stdout.write(prompt) sys.stdout.flush() fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #5
Source File: _termui_impl.py From planespotter with MIT License | 6 votes |
def getchar(echo): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = os.read(fd, 32) if echo and isatty(sys.stdout): sys.stdout.write(ch) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass _translate_ch_to_exc(ch) return ch.decode(get_best_encoding(sys.stdin), 'replace')
Example #6
Source File: recipe-579095.py From code with MIT License | 6 votes |
def __call__(self): import sys, tty, termios from select import select fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) # [ Wait until ready for reading, # wait until ready for writing # wait for an "exception condition" ] # The below line times out after 1 second # This can be changed to a floating-point value if necessary [i, o, e] = select([sys.stdin.fileno()], [], [], 1) if i: ch = sys.stdin.read(1) else: ch = None finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #7
Source File: _termui_impl.py From jbox with MIT License | 6 votes |
def getchar(echo): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = os.read(fd, 32) if echo and isatty(sys.stdout): sys.stdout.write(ch) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass _translate_ch_to_exc(ch) return ch.decode(get_best_encoding(sys.stdin), 'replace')
Example #8
Source File: readchar.py From marker with MIT License | 6 votes |
def read_char_no_blocking(): ''' Read a character in nonblocking mode, if no characters are present in the buffer, return an empty string ''' fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) old_flags = fcntl.fcntl(fd, fcntl.F_GETFL) try: tty.setraw(fd, termios.TCSADRAIN) fcntl.fcntl(fd, fcntl.F_SETFL, old_flags | os.O_NONBLOCK) return sys.stdin.read(1) except IOError as e: ErrorNumber = e[0] # IOError with ErrorNumber 11(35 in Mac) is thrown when there is nothing to read(Resource temporarily unavailable) if (sys.platform.startswith("linux") and ErrorNumber != 11) or (sys.platform == "darwin" and ErrorNumber != 35): raise return "" finally: fcntl.fcntl(fd, fcntl.F_SETFL, old_flags) termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
Example #9
Source File: tty.py From bob with GNU General Public License v3.0 | 6 votes |
def __init__(self, verbosity, maxJobs): super().__init__(verbosity) self.__index = 1 self.__maxJobs = maxJobs self.__jobs = {} self.__slots = [None] * maxJobs self.__tasksDone = 0 self.__tasksNum = 1 # disable cursor print("\x1b[?25l") # disable echo try: import termios fd = sys.stdin.fileno() self.__oldTcAttr = termios.tcgetattr(fd) new = termios.tcgetattr(fd) new[3] = new[3] & ~termios.ECHO termios.tcsetattr(fd, termios.TCSADRAIN, new) except ImportError: pass
Example #10
Source File: _termui_impl.py From scylla with Apache License 2.0 | 6 votes |
def raw_terminal(): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) yield fd finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass
Example #11
Source File: _termui_impl.py From Building-Recommendation-Systems-with-Python with MIT License | 6 votes |
def raw_terminal(): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) yield fd finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass
Example #12
Source File: runscans.py From ivre with GNU General Public License v3.0 | 6 votes |
def restore_echo(): """Hack for https://stackoverflow.com/questions/6488275 equivalent issue with Nmap (from http://stackoverflow.com/a/8758047/3223422) """ try: fdesc = sys.stdin.fileno() except ValueError: return try: attrs = termios.tcgetattr(fdesc) except termios.error: return attrs[3] = attrs[3] | termios.ECHO termios.tcsetattr(fdesc, termios.TCSADRAIN, attrs)
Example #13
Source File: _termui_impl.py From Building-Recommendation-Systems-with-Python with MIT License | 6 votes |
def raw_terminal(): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) yield fd finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass
Example #14
Source File: _termui_impl.py From RSSNewsGAE with Apache License 2.0 | 6 votes |
def getchar(echo): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = os.read(fd, 32) if echo and isatty(sys.stdout): sys.stdout.write(ch) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass _translate_ch_to_exc(ch) return ch.decode(get_best_encoding(sys.stdin), 'replace')
Example #15
Source File: _termui_impl.py From pipenv with MIT License | 6 votes |
def raw_terminal(): if not isatty(sys.stdin): f = open("/dev/tty") fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) yield fd finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass
Example #16
Source File: _termui_impl.py From pcocc with GNU General Public License v3.0 | 6 votes |
def getchar(echo): if not isatty(sys.stdin): f = open('/dev/tty') fd = f.fileno() else: fd = sys.stdin.fileno() f = None try: old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = os.read(fd, 32) if echo and isatty(sys.stdout): sys.stdout.write(ch) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) sys.stdout.flush() if f is not None: f.close() except termios.error: pass _translate_ch_to_exc(ch) return ch.decode(get_best_encoding(sys.stdin), 'replace')
Example #17
Source File: mysqlfailover.py From mysql-utilities with GNU General Public License v2.0 | 5 votes |
def on_exit(signal, func=None): """Override the on_exit callback. """ if os.name == "posix": termios.tcsetattr(sys.stdin, termios.TCSADRAIN, old_terminal_settings) logging.info("Failover console stopped with SIGTERM.") sys.exit(0)
Example #18
Source File: manual_input.py From expressvpn_leak_testing with MIT License | 5 votes |
def _getch_unix(): import tty import termios file_descriptor = sys.stdin.fileno() old_settings = termios.tcgetattr(file_descriptor) try: tty.setraw(sys.stdin.fileno()) char = sys.stdin.read(1) finally: termios.tcsetattr(file_descriptor, termios.TCSADRAIN, old_settings) return char
Example #19
Source File: getch.py From MellPlayer with MIT License | 5 votes |
def __call__(self): import sys import termios import tty fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #20
Source File: pexpect.py From smod-1 with GNU General Public License v2.0 | 5 votes |
def sendeof(self): """This sends an EOF to the child. This sends a character which causes the pending parent output buffer to be sent to the waiting child program without waiting for end-of-line. If it is the first character of the line, the read() in the user program returns 0, which signifies end-of-file. This means to work as expected a sendeof() has to be called at the beginning of a line. This method does not send a newline. It is the responsibility of the caller to ensure the eof is sent at the beginning of a line. """ ### Hmmm... how do I send an EOF? ###C if ((m = write(pty, *buf, p - *buf)) < 0) ###C return (errno == EWOULDBLOCK) ? n : -1; #fd = sys.stdin.fileno() #old = termios.tcgetattr(fd) # remember current state #attr = termios.tcgetattr(fd) #attr[3] = attr[3] | termios.ICANON # ICANON must be set to recognize EOF #try: # use try/finally to ensure state gets restored # termios.tcsetattr(fd, termios.TCSADRAIN, attr) # if hasattr(termios, 'CEOF'): # os.write (self.child_fd, '%c' % termios.CEOF) # else: # # Silly platform does not define CEOF so assume CTRL-D # os.write (self.child_fd, '%c' % 4) #finally: # restore state # termios.tcsetattr(fd, termios.TCSADRAIN, old) if hasattr(termios, 'VEOF'): char = termios.tcgetattr(self.child_fd)[6][termios.VEOF] else: # platform does not define VEOF so assume CTRL-D char = chr(4) self.send(char)
Example #21
Source File: utils.py From multi-v2ray with GNU General Public License v3.0 | 5 votes |
def readchar(prompt=""): if prompt: sys.stdout.write(prompt) sys.stdout.flush() fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) print(ch) return ch.strip()
Example #22
Source File: helpers.py From decrypt-ios-apps-script with MIT License | 5 votes |
def interactive_shell(chan, callback=None): oldtty = termios.tcgetattr(sys.stdin) try: tty.setraw(sys.stdin.fileno()) tty.setcbreak(sys.stdin.fileno()) chan.settimeout(0.0) while True: r, w, e = select.select([chan, sys.stdin], [], []) if chan in r: try: x = u(chan.recv(1024)) if len(x) == 0: sys.stdout.write("\r\n[+] Terminating SSH connection\r\n") sys.stdout.flush() if callback != None: callback() break sys.stdout.write(x) sys.stdout.flush() except socket.timeout: pass if sys.stdin in r: x = sys.stdin.read(1) if len(x) == 0: break chan.send(x) finally: termios.tcsetattr(sys.stdin, termios.TCSADRAIN, oldtty)
Example #23
Source File: dashvote.py From dashman with MIT License | 5 votes |
def getch(): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(fd) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #24
Source File: pexpect.py From smod-1 with GNU General Public License v2.0 | 5 votes |
def setecho (self, state): """This sets the terminal echo mode on or off. Note that anything the child sent before the echo will be lost, so you should be sure that your input buffer is empty before you call setecho(). For example, the following will work as expected:: p = pexpect.spawn('cat') p.sendline ('1234') # We will see this twice (once from tty echo and again from cat). p.expect (['1234']) p.expect (['1234']) p.setecho(False) # Turn off tty echo p.sendline ('abcd') # We will set this only once (echoed by cat). p.sendline ('wxyz') # We will set this only once (echoed by cat) p.expect (['abcd']) p.expect (['wxyz']) The following WILL NOT WORK because the lines sent before the setecho will be lost:: p = pexpect.spawn('cat') p.sendline ('1234') # We will see this twice (once from tty echo and again from cat). p.setecho(False) # Turn off tty echo p.sendline ('abcd') # We will set this only once (echoed by cat). p.sendline ('wxyz') # We will set this only once (echoed by cat) p.expect (['1234']) p.expect (['1234']) p.expect (['abcd']) p.expect (['wxyz']) """ self.child_fd attr = termios.tcgetattr(self.child_fd) if state: attr[3] = attr[3] | termios.ECHO else: attr[3] = attr[3] & ~termios.ECHO # I tried TCSADRAIN and TCSAFLUSH, but these were inconsistent # and blocked on some platforms. TCSADRAIN is probably ideal if it worked. termios.tcsetattr(self.child_fd, termios.TCSANOW, attr)
Example #25
Source File: util.py From kAFL with GNU General Public License v2.0 | 5 votes |
def getch(): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #26
Source File: _getpass.py From acloud-dl with MIT License | 5 votes |
def _unix_getch(self): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #27
Source File: honsshInteraction.py From honssh with BSD 3-Clause "New" or "Revised" License | 5 votes |
def getch(self): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #28
Source File: getch.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def __call__(self): import sys import termios import tty fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #29
Source File: getch.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def __call__(self): import sys import termios import tty fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch
Example #30
Source File: keyop.py From ackermann-drive-teleop with GNU Lesser General Public License v3.0 | 5 votes |
def get_key(self): tty.setraw(sys.stdin.fileno()) select.select([sys.stdin], [], [], 0) key = sys.stdin.read(1) termios.tcsetattr(sys.stdin, termios.TCSADRAIN, self.settings) return key