summaryrefslogtreecommitdiff
path: root/alot/db/message.py
diff options
context:
space:
mode:
Diffstat (limited to 'alot/db/message.py')
-rw-r--r--alot/db/message.py44
1 files changed, 23 insertions, 21 deletions
diff --git a/alot/db/message.py b/alot/db/message.py
index 41654c4a..21373e5e 100644
--- a/alot/db/message.py
+++ b/alot/db/message.py
@@ -83,6 +83,26 @@ def _render_part(part, field_key='copiousoutput'):
return rendered_payload
+class _MessageHeaders:
+ _msg = None
+
+ def __init__(self, msg):
+ self._msg = msg
+
+ def __contains__(self, key):
+ return key in self._msg
+
+ def __getitem__(self, key):
+ if not key in self._msg:
+ raise KeyError(key)
+ return self._msg.get_all(key)
+
+ def keys(self):
+ return self._msg.keys()
+
+ def items(self):
+ return self._msg.items()
+
class _MimeTree:
_part = None
@@ -95,11 +115,13 @@ class _MimeTree:
is_alternative = False
+ headers = None
children = None
attachment = None
def __init__(self, part, session_keys = None):
self._part = part
+ self.headers = _MessageHeaders(self._part)
if part.is_multipart():
st = part.get_content_subtype()
@@ -291,26 +313,6 @@ class _MimeTree:
if len(sigs) == 1:
self.signer_id, self.sig_trusted = self._sig_check_key(sigs[0].fpr)
-class _MessageHeaders:
- _msg = None
-
- def __init__(self, msg):
- self._msg = msg
-
- def __contains__(self, key):
- return key in self._msg
-
- def __getitem__(self, key):
- if not key in self._msg:
- raise KeyError(key)
- return self._msg.get_all(key)
-
- def keys(self):
- return self._msg.keys()
-
- def items(self):
- return self._msg.items()
-
class Message:
"""
a persistent notmuch message object.
@@ -383,8 +385,8 @@ class Message:
self._email = self._load_email(session_keys)
- self.headers = _MessageHeaders(self._email)
self.body = _MimeTree(self._email, session_keys)
+ self.headers = self.body.headers
self._tags = set(msg.tags)