From ce662d0467c302d3a37d4cfb7d4626a48794f60e Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sun, 11 Oct 2009 12:00:18 +0000 Subject: Use getopt in script.py demo. --- Demo/scripts/script.py | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/Demo/scripts/script.py b/Demo/scripts/script.py index 6eaa7ae..efcecc5 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,7 +7,7 @@ # Author: Steen Lumholt. -import os, time, sys +import os, time, sys, getopt import pty def read(fd): @@ -19,15 +20,23 @@ 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) +try: + opts, args = getopt.getopt(sys.argv[1:], 'ap') +except getopt.error, msg: + print '%s: %s' % (sys.argv[0], msg) + sys.exit(2) + +for o, a in opts: + if o == '-a': + mode = 'a' + 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())) 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())) sys.stdout.write('Script done, file is %s\n' % filename) -- cgit v0.12