From a3a78cf1ca8b60ff6487ffbf1bbe427293f9cc6f Mon Sep 17 00:00:00 2001 From: Ken Peterson Date: Thu, 18 Jun 2020 08:01:49 -0700 Subject: [PATCH 1/4] Updated the close function Updated the function `Message.close` to ensure all sub-files will be closed as well. --- extract_msg/message.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extract_msg/message.py b/extract_msg/message.py index 8992bb26..e1a3d71a 100644 --- a/extract_msg/message.py +++ b/extract_msg/message.py @@ -164,6 +164,12 @@ def _getStringStream(self, filename, prefix = True): else: tmp = self._getStream(filename + '001E', prefix = False) return None if tmp is None else tmp.decode(self.stringEncoding) + + def close(self): + for attachment in self.attachments: + if attachment.type == 'msg': + attachment.data.closeAll() + olefile.OleFileIO.close(self) def debug(self): for dir_ in self.listDir(): From b99a151b8495122d38585f25dd36e6410a21e4c3 Mon Sep 17 00:00:00 2001 From: Ken Peterson Date: Thu, 18 Jun 2020 08:04:25 -0700 Subject: [PATCH 2/4] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7fdaf9d6..9fcb3604 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +**v0.24.3** +* Added new close function to the `Message` class to ensure that all embedded `Message` instances get closed as well. Not having this was causing issues with trying to modify the msg file after the user thought that it had been closed. + **v0.24.2** * Fixed bug that somehow escaped detection that caused certain properties to not work. * Fixed bug with embedded msg files introduced in v0.24.0 From cb15db860825b90a49f3deb8056352c4bc583dca Mon Sep 17 00:00:00 2001 From: Ken Peterson Date: Thu, 18 Jun 2020 08:06:06 -0700 Subject: [PATCH 3/4] Update __init__.py --- extract_msg/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extract_msg/__init__.py b/extract_msg/__init__.py index 6fedffa9..ab54cbfb 100644 --- a/extract_msg/__init__.py +++ b/extract_msg/__init__.py @@ -27,8 +27,8 @@ # along with this program. If not, see . __author__ = 'Matthew Walker & The Elemental of Creation' -__date__ = '2020-05-29' -__version__ = '0.24.2' +__date__ = '2020-06-18' +__version__ = '0.24.3' from extract_msg import constants from extract_msg.attachment import Attachment From 851327e32e2b16f75c77657f2ccc3eb7de8d4329 Mon Sep 17 00:00:00 2001 From: Ken Peterson Date: Thu, 18 Jun 2020 15:28:25 -0700 Subject: [PATCH 4/4] Update message.py --- extract_msg/message.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extract_msg/message.py b/extract_msg/message.py index e1a3d71a..c9a25b75 100644 --- a/extract_msg/message.py +++ b/extract_msg/message.py @@ -168,7 +168,7 @@ def _getStringStream(self, filename, prefix = True): def close(self): for attachment in self.attachments: if attachment.type == 'msg': - attachment.data.closeAll() + attachment.data.close() olefile.OleFileIO.close(self) def debug(self):