diff --git a/Demo/scripts/script.py b/Demo/scripts/script.py index 174c13ea951..b490b17924f 100755 --- a/Demo/scripts/script.py +++ b/Demo/scripts/script.py @@ -1,4 +1,5 @@ #! /usr/bin/env python + # script.py -- Make typescript of terminal session. # Usage: # -a Append to typescript. @@ -6,28 +7,36 @@ # Author: Steen Lumholt. -import os, time, sys +import os, time, sys, getopt import pty def read(fd): data = os.read(fd, 1024) - file.write(data) + script.write(data) return data shell = 'sh' filename = 'typescript' -mode = 'w' +mode = 'wb' if 'SHELL' in os.environ: shell = os.environ['SHELL'] -if '-a' in sys.argv: - mode = 'a' -if '-p' in sys.argv: - shell = 'python' -file = open(filename, mode) +try: + opts, args = getopt.getopt(sys.argv[1:], 'ap') +except getopt.error as msg: + print('%s: %s' % (sys.argv[0], msg)) + sys.exit(2) + +for o, a in opts: + if o == '-a': + mode = 'ab' + elif o == '-p': + shell = 'python' + +script = open(filename, mode) sys.stdout.write('Script started, file is %s\n' % filename) -file.write('Script started on %s\n' % time.ctime(time.time())) +script.write(('Script started on %s\n' % time.ctime(time.time())).encode()) pty.spawn(shell, read) -file.write('Script done on %s\n' % time.ctime(time.time())) +script.write(('Script done on %s\n' % time.ctime(time.time())).encode()) sys.stdout.write('Script done, file is %s\n' % filename)