annotate Demo/scripts/from.py @ 4566:6403c94de50d legacy-trunk

Added safeguard against failure in __del__.
author Guido van Rossum <guido@python.org>
date Wed, 27 Nov 1996 19:39:58 +0000
parents d02ce30d7ddb
children 73758db2f464
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1267
d02ce30d7ddb bin/python
Guido van Rossum <guido@python.org>
parents: 870
diff changeset
1 #! /usr/local/bin/python
274
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
2
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
3 # Print From and Subject of messages in $MAIL.
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
4 # Extension to multiple mailboxes and other bells & whistles are left
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 # as exercises for the reader.
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
6
756
5d2f62ad8dee change posix to os; and change error message
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
7 import sys, os
274
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
8
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 # Open mailbox file. Exits with exception when this fails.
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
10
501
ddbcd532c114 Improved error handling.
Guido van Rossum <guido@python.org>
parents: 274
diff changeset
11 try:
756
5d2f62ad8dee change posix to os; and change error message
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
12 mailbox = os.environ['MAIL']
5d2f62ad8dee change posix to os; and change error message
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
13 except (AttributeError, KeyError):
5d2f62ad8dee change posix to os; and change error message
Guido van Rossum <guido@python.org>
parents: 559
diff changeset
14 sys.stderr.write('No environment variable $MAIL\n')
501
ddbcd532c114 Improved error handling.
Guido van Rossum <guido@python.org>
parents: 274
diff changeset
15 sys.exit(2)
ddbcd532c114 Improved error handling.
Guido van Rossum <guido@python.org>
parents: 274
diff changeset
16
ddbcd532c114 Improved error handling.
Guido van Rossum <guido@python.org>
parents: 274
diff changeset
17 try:
ddbcd532c114 Improved error handling.
Guido van Rossum <guido@python.org>
parents: 274
diff changeset
18 mail = open(mailbox, 'r')
870
9715fdc1e462 IOError instead of RuntimeError
Guido van Rossum <guido@python.org>
parents: 756
diff changeset
19 except IOError:
501
ddbcd532c114 Improved error handling.
Guido van Rossum <guido@python.org>
parents: 274
diff changeset
20 sys.stderr.write('Cannot open mailbox file: ' + mailbox + '\n')
ddbcd532c114 Improved error handling.
Guido van Rossum <guido@python.org>
parents: 274
diff changeset
21 sys.exit(2)
274
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 while 1:
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 line = mail.readline()
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
25 if not line: break # EOF
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 501
diff changeset
26 if line[:5] == 'From ':
274
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 # Start of message found
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 print line[:-1],
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 while 1:
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 line = mail.readline()
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 if not line: break # EOF
559
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 501
diff changeset
32 if line == '\n': break # Blank line ends headers
683edb0c4463 New == syntax
Guido van Rossum <guido@python.org>
parents: 501
diff changeset
33 if line[:8] == 'Subject:':
274
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
34 print `line[9:-1]`,
12a64115a4ee Initial revision
Guido van Rossum <guido@python.org>
parents:
diff changeset
35 print