diff -urN v5/fuga.py v6/fuga.py --- v5/fuga.py 1970-01-01 09:00:00.000000000 +0900 +++ v6/fuga.py 2018-02-21 13:09:19.000000000 +0900 @@ -0,0 +1,19 @@ +#!/usr/bin/env python + +import sys +import time +import random + +if __name__ == "__main__": + + err = lambda s: sys.stderr.write(s+'\n') + + while True: + s = sys.stdin.readline().strip() + err('get "{}"'.format(s)) + + i = random.randrange(len(s)) + err('out "{}"'.format( s[i] ) ) + print s[i] + sys.stdout.flush() +# EOF diff -urN v5/kon.py v6/kon.py --- v5/kon.py 2017-10-19 23:00:00.000000000 +0900 +++ v6/kon.py 2018-02-21 13:09:19.000000000 +0900 @@ -19,7 +19,7 @@ if t in sys.argv: return '' t += '=' - r = next( ( a[ len(t): ] for a in sys.argv if a.startwith(t) ), None ) + r = next( ( a[ len(t): ] for a in sys.argv if a.startswith(t) ), None ) if r != None: return r return None @@ -32,7 +32,7 @@ if h: host = h if p: - port = p + port = int(p) else: if s.isdigit(): port = int(s) @@ -236,7 +236,11 @@ def term_raw(sigint=True): fd = sys.stdin.fileno() - a = termios.tcgetattr(fd) + try: + a = termios.tcgetattr(fd) + except: + return lambda : None + bak = a[:] f = termios.ECHO | termios.ECHONL | termios.FLUSHO | termios.ICANON | termios.IEXTEN if not sigint: diff -urN v5/pac.py v6/pac.py --- v5/pac.py 2017-10-19 23:00:00.000000000 +0900 +++ v6/pac.py 2018-02-21 13:09:19.000000000 +0900 @@ -298,11 +298,13 @@ if len(ds) == 1: return ds[0] - d = sys.stdin.read(1) + sys.stdout.write(ds + '\n') + flush() + d = sys.stdin.readline().strip() if d not in ds: sys.stdout.write('?') - sys.stdout.write(d) - flush() + d = ds[0] + return d def th_pac(c): (px, py) = arr.pos(c) diff -urN v5/stdio.py v6/stdio.py --- v5/stdio.py 1970-01-01 09:00:00.000000000 +0900 +++ v6/stdio.py 2018-02-21 12:28:53.000000000 +0900 @@ -0,0 +1,23 @@ +#!/usr/bin/env python + +import sys +import subprocess + +# +# ./stdio.py "./hoge.py 123" ./hoge.py +# + +if __name__ == "__main__": + + if len(sys.argv) < 3: + print 'Usage: {} "cmd1 prm .." "cmd2 prm .."'.format(sys.argv[0]) + sys.exit(0) + + cmd1 = sys.argv[1] + cmd2 = sys.argv[2] + cmd = 'rm -f fifo ; mkfifo fifo ; cat fifo | {} | {} > fifo'.format(cmd1, cmd2) + #print cmd + + subprocess.call(cmd, shell=True) + +# EOF