Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6244867

Browse files
committed
Revamped test case and updated doc string.
1 parent 452a983 commit 6244867

1 file changed

Lines changed: 41 additions & 23 deletions

File tree

Lib/mailbox.py

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
#
2-
# A class to hand a unix-style or mmdf-style mailboxes
3-
#
4-
# Jack Jansen, CWI, March 1994.
5-
#
1+
#!/usr/local/bin/python
2+
3+
"""Classes to handle Unix style, MMDF style, and MH style mailboxes."""
4+
5+
66
import rfc822
77
import os
88
import regex
@@ -134,35 +134,53 @@ def next(self):
134134
return rfc822.Message(fp)
135135

136136

137-
if __name__ == '__main__':
138-
import posix
137+
def _test():
139138
import time
140139
import sys
141140
import string
142-
## mbox = '/usr/mail/'+posix.environ['USER']
143-
## fp = open(mbox, 'r')
144-
## mb = UnixMailbox(fp)
145-
146-
mbox = posix.environ['HOME']+'/Mail/inbox'
147-
mb = MHMailbox(mbox)
141+
import os
142+
143+
args = sys.argv[1:]
144+
if not args:
145+
if os.environ.has_key('MAIL'):
146+
mbox = os.environ['MAIL']
147+
elif os.environ.has_key('MAIL'):
148+
mbox = os.environ['USER']
149+
else:
150+
print "Who are you?"
151+
return
152+
else:
153+
mbox = args[0]
154+
if mbox[:1] == '+':
155+
mbox = os.environ['HOME'] + '/Mail/' + mbox[1:]
156+
elif not '/' in mbox:
157+
mbox = '/usr/mail/' + mbox
158+
if os.path.isdir(mbox):
159+
mb = MHMailbox(mbox)
160+
else:
161+
fp = open(mbox, 'r')
162+
mb = UnixMailbox(fp)
148163

149164
msgs = []
150165
while 1:
151166
msg = mb.next()
152167
if not msg:
153168
break
154169
msgs.append(msg)
155-
if len(sys.argv) > 1:
156-
num = string.atoi(sys.argv[1])
170+
if len(args) > 1:
171+
num = string.atoi(args[1])
157172
print 'Message %d body:'%num
158173
msg = msgs[num-1]
159174
msg.rewindbody()
160175
sys.stdout.write(msg.fp.read())
161-
sys.exit(0)
162-
print 'Mailbox',mbox,'has',len(msgs),'messages:'
163-
for msg in msgs:
164-
f = msg.getheader('from')
165-
s = msg.getheader('subject')
166-
d = (msg.getheader('date'))
167-
print '%20.20s %18.18s %-30.30s'%(f, d[5:], s)
168-
176+
else:
177+
print 'Mailbox',mbox,'has',len(msgs),'messages:'
178+
for msg in msgs:
179+
f = msg.getheader('from')
180+
s = msg.getheader('subject')
181+
d = (msg.getheader('date'))
182+
print '%20.20s %18.18s %-30.30s'%(f, d[5:], s)
183+
184+
185+
if __name__ == '__main__':
186+
_test()

0 commit comments

Comments
 (0)