[Python-checkins] r75352 - in python/branches/py3k: Demo/scripts/script.py

georg.brandl python-checkins at python.org
Sun Oct 11 14:04:10 CEST 2009


Author: georg.brandl
Date: Sun Oct 11 14:04:10 2009
New Revision: 75352

Log:
Merged revisions 75350 via svnmerge from 
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75350 | georg.brandl | 2009-10-11 14:00:18 +0200 (So, 11 Okt 2009) | 1 line
  
  Use getopt in script.py demo.
........


Modified:
   python/branches/py3k/   (props changed)
   python/branches/py3k/Demo/scripts/script.py

Modified: python/branches/py3k/Demo/scripts/script.py
==============================================================================
--- python/branches/py3k/Demo/scripts/script.py	(original)
+++ python/branches/py3k/Demo/scripts/script.py	Sun Oct 11 14:04:10 2009
@@ -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)


More information about the Python-checkins mailing list