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
13
app/Gulag.py
13
app/Gulag.py
@ -231,10 +231,11 @@ class Gulag:
|
|||||||
if 'rfc822_message' not in args:
|
if 'rfc822_message' not in args:
|
||||||
return qms_db
|
return qms_db
|
||||||
# recognize all IMAP mailboxes to read from
|
# recognize all IMAP mailboxes to read from
|
||||||
|
# and store rfc822-messages under it
|
||||||
mailboxes = {}
|
mailboxes = {}
|
||||||
for qm in qms_db:
|
for qm in qms_db:
|
||||||
if qm['mailbox_id'] not in mailboxes:
|
if qm['mailbox_id'] not in mailboxes:
|
||||||
mailboxes[qm['mailbox_id']] = []
|
mailboxes[qm['mailbox_id']] = {}
|
||||||
# any qm_db with full RFC822 messages from IMAP mailbox
|
# any qm_db with full RFC822 messages from IMAP mailbox
|
||||||
for mailbox_id in mailboxes:
|
for mailbox_id in mailboxes:
|
||||||
try:
|
try:
|
||||||
@ -249,14 +250,20 @@ class Gulag:
|
|||||||
logging.warning(whoami(self) + e.message)
|
logging.warning(whoami(self) + e.message)
|
||||||
raise GulagException(whoami(self) + e.message) from e
|
raise GulagException(whoami(self) + e.message) from e
|
||||||
for qm_db in qms_db:
|
for qm_db in qms_db:
|
||||||
|
if qm_db['imap_uid'] not in mailboxes[mailbox_id]:
|
||||||
try:
|
try:
|
||||||
qm_db['rfc822_message'] = imap_mb.get_message(
|
mailboxes[mailbox_id][qm_db['imap_uid']] = imap_mb.get_message(
|
||||||
qm_db['imap_uid']
|
qm_db['imap_uid']
|
||||||
).decode("utf-8")
|
).decode("utf-8")
|
||||||
except IMAPmailboxException as e:
|
except IMAPmailboxException as e:
|
||||||
logging.warning(whoami(self) + e.message)
|
logging.warning(whoami(self) + e.message)
|
||||||
raise GulagException(whoami(self) + e.message) from e
|
raise GulagException(whoami(self) + e.message) from e
|
||||||
return qms_db
|
imap_mb.close()
|
||||||
|
# end for mailboxes
|
||||||
|
return {
|
||||||
|
"quarmails": qms_db,
|
||||||
|
"rfc822_messages": mailboxes
|
||||||
|
}
|
||||||
|
|
||||||
def get_quarmail(self,args):
|
def get_quarmail(self,args):
|
||||||
qm_db = None
|
qm_db = None
|
||||||
|
|||||||
@ -78,7 +78,7 @@ class GulagDB:
|
|||||||
raise GulagDBException(whoami(self) + "query_limit must be numeric!")
|
raise GulagDBException(whoami(self) + "query_limit must be numeric!")
|
||||||
return "limit "+args['query_offset']+","+args['query_limit']
|
return "limit "+args['query_offset']+","+args['query_limit']
|
||||||
elif('query_offset' in args and 'query_limit' not in args):
|
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!"
|
"query_offset without query_limit is useless!"
|
||||||
)
|
)
|
||||||
elif('query_limit' in args and 'query_offset' not in args):
|
elif('query_limit' in args and 'query_offset' not in args):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user