Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 1 | #! /usr/local/python |
| 2 | |
| 3 | # Print From and Subject of messages in $MAIL. |
| 4 | # Extension to multiple mailboxes and other bells & whistles are left |
| 5 | # as exercises for the reader. |
| 6 | |
Guido van Rossum | 01ae0a6 | 1992-03-30 11:14:20 +0000 | [diff] [blame] | 7 | import sys, os |
Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 8 | |
| 9 | # Open mailbox file. Exits with exception when this fails. |
| 10 | |
Guido van Rossum | 5558b89 | 1991-12-18 13:38:42 +0000 | [diff] [blame] | 11 | try: |
Guido van Rossum | 01ae0a6 | 1992-03-30 11:14:20 +0000 | [diff] [blame] | 12 | mailbox = os.environ['MAIL'] |
| 13 | except (AttributeError, KeyError): |
| 14 | sys.stderr.write('No environment variable $MAIL\n') |
Guido van Rossum | 5558b89 | 1991-12-18 13:38:42 +0000 | [diff] [blame] | 15 | sys.exit(2) |
| 16 | |
| 17 | try: |
| 18 | mail = open(mailbox, 'r') |
Guido van Rossum | 9d741a7 | 1992-05-19 13:48:31 +0000 | [diff] [blame] | 19 | except IOError: |
Guido van Rossum | 5558b89 | 1991-12-18 13:38:42 +0000 | [diff] [blame] | 20 | sys.stderr.write('Cannot open mailbox file: ' + mailbox + '\n') |
| 21 | sys.exit(2) |
Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 22 | |
| 23 | while 1: |
| 24 | line = mail.readline() |
| 25 | if not line: break # EOF |
Guido van Rossum | bdfcfcc | 1992-01-01 19:35:13 +0000 | [diff] [blame] | 26 | if line[:5] == 'From ': |
Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 27 | # Start of message found |
| 28 | print line[:-1], |
| 29 | while 1: |
| 30 | line = mail.readline() |
| 31 | if not line: break # EOF |
Guido van Rossum | bdfcfcc | 1992-01-01 19:35:13 +0000 | [diff] [blame] | 32 | if line == '\n': break # Blank line ends headers |
| 33 | if line[:8] == 'Subject:': |
Guido van Rossum | ec758ea | 1991-06-04 20:36:54 +0000 | [diff] [blame] | 34 | print `line[9:-1]`, |
| 35 | print |