projects
/
pygrader.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
43088c7
)
mailpipe: sort messages chronologically before processing.
author
W. Trevor King
<wking@tremily.us>
Sun, 2 Sep 2012 13:16:22 +0000
(09:16 -0400)
committer
W. Trevor King
<wking@tremily.us>
Sun, 2 Sep 2012 13:16:22 +0000
(09:16 -0400)
pygrader/mailpipe.py
patch
|
blob
|
history
diff --git
a/pygrader/mailpipe.py
b/pygrader/mailpipe.py
index 3f3652af2ee27e84b301280210ae8b2dff479a30..6c832f0b8e2715f4c582b2719da7d4abfcadd97f 100644
(file)
--- a/
pygrader/mailpipe.py
+++ b/
pygrader/mailpipe.py
@@
-31,6
+31,7
@@
from lxml import etree as _etree
from . import LOG as _LOG
from .email import construct_email as _construct_email
from .email import construct_response as _construct_response
from . import LOG as _LOG
from .email import construct_email as _construct_email
from .email import construct_response as _construct_response
+from .extract_mime import message_time as _message_time
from .model.person import Person as _Person
from .handler import InvalidMessage as _InvalidMessage
from .model.person import Person as _Person
from .handler import InvalidMessage as _InvalidMessage
@@
-634,6
+635,7
@@
def _load_messages(course, stream, mailbox=None, input_=None, output=None,
ombox = _mailbox.Maildir(output, factory=None, create=True)
else:
raise ValueError(mailbox)
ombox = _mailbox.Maildir(output, factory=None, create=True)
else:
raise ValueError(mailbox)
+ messages = sorted(messages, key=_get_message_time)
for key,msg in messages:
try:
ret = _parse_message(course=course, message=msg)
for key,msg in messages:
try:
ret = _parse_message(course=course, message=msg)
@@
-928,3
+930,8
@@
def _get_error_response(error):
'Yours,\n'
'{}\n'.format(target.alias(), text, author.alias())),
original=error.message)
'Yours,\n'
'{}\n'.format(target.alias(), text, author.alias())),
original=error.message)
+
+def _get_message_time(key_message):
+ "Key function for sorting mailbox (key,message) tuples."
+ key,message = key_message
+ return _message_time(message)