import email, StringIO
def list_(pop):
resp, lst, octets = pop.list()
return [i.split() for i in lst]
# msgnum, msgsize
def retr_text(pop, msgnum):
resp, msg, octets = pop.retr(msgnum)
return b'\n'.join(msg)
def retr_msg(pop, msgnum):
msg = retr_text(pop, msgnum)
fp = StringIO.StringIO(msg)
try:
msg = email.message_from_file(fp)
finally:
fp.close()
def list_text(pop):
'generator msgnum, text'
for msgnum, msgsize in list_(pop):
text = retr_text(pop, msgnum)
yield msgnum, text
def list_msg(pop):
'generator msgnum, msg'
for msgnum, msgsize in list_(pop):
msg = retr_msg(pop, msgnum)
yield msgnum, msg