Showing the changes to sys/src/cmd/python/Demo/scripts/script.py (1 of 3706 files). Show all
Unified · Split
| @@ -0,0 +1,33 @@ | |||
| 1 | #! /usr/bin/env python | ||
| 2 | # script.py -- Make typescript of terminal session. | ||
| 3 | # Usage: | ||
| 4 | # -a Append to typescript. | ||
| 5 | # -p Use Python as shell. | ||
| 6 | # Author: Steen Lumholt. | ||
| 7 | |||
| 8 | |||
| 9 | import os, time, sys | ||
| 10 | import pty | ||
| 11 | |||
| 12 | def read(fd): | ||
| 13 | data = os.read(fd, 1024) | ||
| 14 | file.write(data) | ||
| 15 | return data | ||
| 16 | |||
| 17 | shell = 'sh' | ||
| 18 | filename = 'typescript' | ||
| 19 | mode = 'w' | ||
| 20 | if os.environ.has_key('SHELL'): | ||
| 21 | shell = os.environ['SHELL'] | ||
| 22 | if '-a' in sys.argv: | ||
| 23 | mode = 'a' | ||
| 24 | if '-p' in sys.argv: | ||
| 25 | shell = 'python' | ||
| 26 | |||
| 27 | file = open(filename, mode) | ||
| 28 | |||
| 29 | sys.stdout.write('Script started, file is %s\n' % filename) | ||
| 30 | file.write('Script started on %s\n' % time.ctime(time.time())) | ||
| 31 | pty.spawn(shell, read) | ||
| 32 | file.write('Script done on %s\n' % time.ctime(time.time())) | ||
| 33 | sys.stdout.write('Script done, file is %s\n' % filename) | ||