summaryrefslogtreecommitdiff
path: root/src/leap/mail/imap/messages.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2014-02-07 02:54:52 -0400
committerKali Kaneko <kali@leap.se>2014-02-17 11:38:24 -0400
commit813db4a356141592337f39f9c801203367c63193 (patch)
tree72192408155c5852ca50575b424cd9f0b3544f79 /src/leap/mail/imap/messages.py
parent3149bbe64346d558ef300a3d760732cf499a28d3 (diff)
remove hdoc copy since it's in its own structure now
Diffstat (limited to 'src/leap/mail/imap/messages.py')
-rw-r--r--src/leap/mail/imap/messages.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/leap/mail/imap/messages.py b/src/leap/mail/imap/messages.py
index fbae05f..4b95689 100644
--- a/src/leap/mail/imap/messages.py
+++ b/src/leap/mail/imap/messages.py
@@ -153,12 +153,20 @@ class LeapMessage(fields, MailParser, MBoxParser):
"""
An accessor to the headers document.
"""
- if self._container is not None:
+ container = self._container
+ if container is not None:
hdoc = self._container.hdoc
if hdoc and not empty(hdoc.content):
return hdoc
- # XXX cache this into the memory store !!!
- return self._get_headers_doc()
+ hdoc = self._get_headers_doc()
+
+ if container and not empty(hdoc.content):
+ # mem-cache it
+ hdoc_content = hdoc.content
+ chash = hdoc_content.get(fields.CONTENT_HASH_KEY)
+ hdocs = {chash: hdoc_content}
+ container.memstore.load_header_docs(hdocs)
+ return hdoc
@property
def chash(self):