diff options
author | Anton Khirnov <anton@khirnov.net> | 2020-02-27 18:25:05 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2020-02-27 18:32:13 +0100 |
commit | bb140bf38725d15a6088a690e1539b26661fc4c9 (patch) | |
tree | 658ae6a5e7f7d402665682914ba146f76f736139 /alot/db/message.py | |
parent | d1cf87d5375c146c18d7c442c5a1f5d2fc481a55 (diff) |
db/message: drop a useless getter.
Diffstat (limited to 'alot/db/message.py')
-rw-r--r-- | alot/db/message.py | 25 |
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(): |