1#!/usr/bin/python 2# 3# Server that will communicate over stdin/stderr 4# 5# This requires Python 2.6 or later. 6 7from __future__ import print_function 8import sys 9import time 10 11if __name__ == "__main__": 12 13 if len(sys.argv) > 1: 14 if sys.argv[1].startswith("err"): 15 print(sys.argv[1], file=sys.stderr) 16 sys.stderr.flush() 17 else: 18 print(sys.argv[1]) 19 sys.stdout.flush() 20 if sys.argv[1].startswith("quit"): 21 sys.exit(0) 22 23 while True: 24 typed = sys.stdin.readline() 25 if typed.startswith("quit"): 26 print("Goodbye!") 27 sys.stdout.flush() 28 break 29 if typed.startswith("echo "): 30 print(typed[5:-1]) 31 sys.stdout.flush() 32 if typed.startswith("double "): 33 print(typed[7:-1] + "\nAND " + typed[7:-1]) 34 sys.stdout.flush() 35 if typed.startswith("split "): 36 print(typed[6:-1], end='') 37 sys.stdout.flush() 38 time.sleep(0.05) 39 print(typed[6:-1], end='') 40 sys.stdout.flush() 41 time.sleep(0.05) 42 print(typed[6:-1]) 43 sys.stdout.flush() 44 if typed.startswith("echoerr "): 45 print(typed[8:-1], file=sys.stderr) 46 sys.stderr.flush() 47 if typed.startswith("doubleerr "): 48 print(typed[10:-1] + "\nAND " + typed[10:-1], file=sys.stderr) 49 sys.stderr.flush() 50 51