summaryrefslogtreecommitdiff
path: root/alot/db/message.py
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2020-02-27 18:25:05 +0100
committerAnton Khirnov <anton@khirnov.net>2020-02-27 18:32:13 +0100
commitbb140bf38725d15a6088a690e1539b26661fc4c9 (patch)
tree658ae6a5e7f7d402665682914ba146f76f736139 /alot/db/message.py
parentd1cf87d5375c146c18d7c442c5a1f5d2fc481a55 (diff)
db/message: drop a useless getter.
Diffstat (limited to 'alot/db/message.py')
-rw-r--r--alot/db/message.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/alot/db/message.py b/alot/db/message.py
index 4adb0816..d9866384 100644
--- a/alot/db/message.py
+++ b/alot/db/message.py
@@ -35,6 +35,9 @@ class Message:
"""value of the Message-Id header (str)"""
id = None
+ """Paths to all files corresponding to this message"""
+ filenames = None
+
"""this message's depth in the thread tree"""
depth = None
@@ -67,7 +70,14 @@ class Message:
self.date = datetime.fromtimestamp(msg.get_date())
except ValueError:
self.date = None
- self._filename = msg.get_filename()
+
+ filenames = []
+ for f in msg.get_filenames():
+ filenames.append(f[:])
+ if len(filenames) == 0:
+ raise ValueError('No filenames for a message returned')
+ self.filenames = filenames
+
self._email = None # will be read upon first use
self._attachments = None # will be read upon first use
self._tags = set(msg.get_tags())
@@ -107,14 +117,17 @@ class Message:
return self.id == other.id
return NotImplemented
+ @property
+ def filename(self):
+ return self.filenames[0]
+
def get_email(self):
"""returns :class:`email.email.EmailMessage` for this message"""
- path = self.get_filename()
warning = "Subject: Caution!\n"\
- "Message file is no longer accessible:\n%s" % path
+ "Message file is no longer accessible:\n%s" % self.filename
if not self._email:
try:
- with open(path, 'rb') as f:
+ with open(self.filename, 'rb') as f:
self._email = utils.decrypted_message_from_bytes(
f.read(), self._session_keys)
except IOError:
@@ -122,10 +135,6 @@ class Message:
warning, policy=email.policy.SMTP)
return self._email
- def get_filename(self):
- """returns absolute path of message files location"""
- return self._filename
-
def get_message_parts(self):
"""yield all body parts of this message"""
for msg in self.get_email().walk():