flagging multiple messages in one command with imaplib?

M

Mr. Magoo

I'm working with imaplib. I'm trying to flag (or move or copy - anything
that takes a message_set as an argument) a bunch of messages with one
command and am having trouble.

===

def check_error(typ, data):
if (typ != 'OK'):
print typ
print data[0]
sys.exit(1)

imapcon = imaplib.IMAP4(HOST)
imapcon.login_cram_md5(USER, PASS)

typ, data = imapcon.select('INBOX')
check_error(typ, data)

typ, data = imapcon.search(None, 'NOT', 'FLAGGED', 'SINCE',
'28-AUG-2003')
check_error(typ, data)

print data[0]

typ, data = imapcon.store(data[0], "+FLAGS.SILENT", r'(\FLAGGED)')
print typ
print data
check_error(typ, data)


===

When my mail client does this it sends the message numbers unquoted, but
imaplib seems to quote them, leading to

imaplib.error: STORE command error: BAD ['Bogus attribute list in STORE']


What am I doing wrong? How do I work with multiple messages in one
command. (The primary consideration here is speed - 1 command is much
faster than N when N is large.)

Thanks.
M.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,046
Latest member
Gavizuho

Latest Threads

Top