mirror of
https://github.com/chillout2k/gulag.git
synced 2025-12-13 16:00:18 +00:00
Gulag::get_quarmails() return structure improvements
This commit is contained in:
parent
72d7124602
commit
406a69757a
27
app/Gulag.py
27
app/Gulag.py
@ -231,11 +231,12 @@ class Gulag:
|
||||
if 'rfc822_message' not in args:
|
||||
return qms_db
|
||||
# recognize all IMAP mailboxes to read from
|
||||
# and store rfc822-messages under it
|
||||
mailboxes = {}
|
||||
for qm in qms_db:
|
||||
if qm['mailbox_id'] not in mailboxes:
|
||||
mailboxes[qm['mailbox_id']] = []
|
||||
# any qm_db with full RFC822 messages from IMAP mailbox
|
||||
mailboxes[qm['mailbox_id']] = {}
|
||||
# any qm_db with full RFC822 messages from IMAP mailbox
|
||||
for mailbox_id in mailboxes:
|
||||
try:
|
||||
mailbox = self.db.get_mailbox(mailbox_id)
|
||||
@ -249,14 +250,20 @@ class Gulag:
|
||||
logging.warning(whoami(self) + e.message)
|
||||
raise GulagException(whoami(self) + e.message) from e
|
||||
for qm_db in qms_db:
|
||||
try:
|
||||
qm_db['rfc822_message'] = imap_mb.get_message(
|
||||
qm_db['imap_uid']
|
||||
).decode("utf-8")
|
||||
except IMAPmailboxException as e:
|
||||
logging.warning(whoami(self) + e.message)
|
||||
raise GulagException(whoami(self) + e.message) from e
|
||||
return qms_db
|
||||
if qm_db['imap_uid'] not in mailboxes[mailbox_id]:
|
||||
try:
|
||||
mailboxes[mailbox_id][qm_db['imap_uid']] = imap_mb.get_message(
|
||||
qm_db['imap_uid']
|
||||
).decode("utf-8")
|
||||
except IMAPmailboxException as e:
|
||||
logging.warning(whoami(self) + e.message)
|
||||
raise GulagException(whoami(self) + e.message) from e
|
||||
imap_mb.close()
|
||||
# end for mailboxes
|
||||
return {
|
||||
"quarmails": qms_db,
|
||||
"rfc822_messages": mailboxes
|
||||
}
|
||||
|
||||
def get_quarmail(self,args):
|
||||
qm_db = None
|
||||
|
||||
@ -78,7 +78,7 @@ class GulagDB:
|
||||
raise GulagDBException(whoami(self) + "query_limit must be numeric!")
|
||||
return "limit "+args['query_offset']+","+args['query_limit']
|
||||
elif('query_offset' in args and 'query_limit' not in args):
|
||||
raise GulagDBException(whois(self) +
|
||||
raise GulagDBException(whoami(self) +
|
||||
"query_offset without query_limit is useless!"
|
||||
)
|
||||
elif('query_limit' in args and 'query_offset' not in args):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user