summaryrefslogtreecommitdiff
path: root/alot/db/message.py
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2020-03-04 22:18:15 +0100
committerAnton Khirnov <anton@khirnov.net>2020-03-04 22:18:15 +0100
commitd98af2606e888f4c09c1deb13c6276556d896af5 (patch)
treeb4c0ed5966308d20131e5505f20cee2f08ca1518 /alot/db/message.py
parent238be3bafed5c9f4aa8015c85ffe429fb698443a (diff)
db/utils: drop extract_headers()
It is used in only one place and does something so extremely simple it does not need to be a special imported function.
Diffstat (limited to 'alot/db/message.py')
-rw-r--r--alot/db/message.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/alot/db/message.py b/alot/db/message.py
index c055aeb2..7b7187e0 100644
--- a/alot/db/message.py
+++ b/alot/db/message.py
@@ -17,6 +17,22 @@ from ..settings.const import settings
charset.add_charset('utf-8', charset.QP, charset.QP, 'utf-8')
+class _MessageHeaders:
+ _msg = None
+
+ def __init__(self, msg):
+ self._msg = 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:
"""
@@ -49,6 +65,11 @@ class Message:
"""
parent = None
+ """
+ The object providing access to the email's headers.
+ """
+ headers = None
+
def __init__(self, dbman, thread, msg, depth):
"""
:param dbman: db manager that is used for further lookups
@@ -84,6 +105,8 @@ class Message:
self._email = self._load_email(session_keys)
+ self.headers = _MessageHeaders(self._email)
+
self._attachments = None # will be read upon first use
self._tags = set(msg.get_tags())