| #! /usr/bin/env python | 
 | # script.py -- Make typescript of terminal session. | 
 | # Usage: | 
 | #	-a	Append to typescript. | 
 | #	-p	Use Python as shell. | 
 | # Author: Steen Lumholt. | 
 |  | 
 |  | 
 | import os, time, sys | 
 | import pty | 
 |  | 
 | def read(fd): | 
 | 	data = os.read(fd, 1024) | 
 | 	file.write(data) | 
 | 	return data | 
 |  | 
 | shell = 'sh' | 
 | filename = 'typescript' | 
 | mode = 'w' | 
 | if os.environ.has_key('SHELL'): | 
 | 	shell = os.environ['SHELL'] | 
 | if '-a' in sys.argv: | 
 | 	mode = 'a' | 
 | if '-p' in sys.argv: | 
 | 	shell = 'python' | 
 |  | 
 | file = open(filename, mode) | 
 |  | 
 | sys.stdout.write('Script started, file is %s\n' % filename) | 
 | file.write('Script started on %s\n' % time.ctime(time.time())) | 
 | pty.spawn(shell, read) | 
 | file.write('Script done on %s\n' % time.ctime(time.time())) | 
 | sys.stdout.write('Script done, file is %s\n' % filename) |