From 25921e701d12bdbd6aad28728c34304cdd3894ef Mon Sep 17 00:00:00 2001 From: TheElementalOfDestruction Date: Sat, 31 Oct 2026 01:52:30 -0700 Subject: [PATCH 1/2] Fix #493 --- CHANGELOG.md | 4 ++++ README.rst | 4 ++-- extract_msg/__init__.py | 4 ++-- extract_msg/attachments/emb_msg_att.py | 2 +- extract_msg/msg_classes/msg.py | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ed245532..1115fea5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +**0.58.1** +* [[TeamMsgExtractor #493](https://github.com/TeamMsgExtractor/msg-extractor/issues/493)] Fixed unable to open embedded msg files due to `MSGBase.prefixList` still being used after it was removed. +* Corrected the typing signature of `MSGBase.prefix`. + **v0.58.0** * Changed module to primarily use `MSGPath` for pathing. All functions still except string paths or list paths, they now just also accept `MSGPath` and use it under the hood for path conversions. With this, some functions have been changed to specifically return `MSGPath` rather than list and string versions of paths. Removed: `MSGBase.prefixList`, `utils.inputToMsgPath()`, and `utils.msgPathToString()`. Modified: `*.fixPath()`, `*.listDir()`, and `MSGBase.prefix`. * Changed setup to use `find_packages()` to try and get ahead of deprecation and ensure all files are distributed correctly. diff --git a/README.rst b/README.rst index 62ff3f0e..98e0807e 100644 --- a/README.rst +++ b/README.rst @@ -268,8 +268,8 @@ your access to the newest major version of extract-msg. .. |License: GPL v3| image:: https://img.shields.io/badge/License-GPLv3-blue.svg :target: LICENSE.txt -.. |PyPI3| image:: https://img.shields.io/badge/pypi-0.58.0-blue.svg - :target: https://pypi.org/project/extract-msg/0.58.0/ +.. |PyPI3| image:: https://img.shields.io/badge/pypi-0.58.1-blue.svg + :target: https://pypi.org/project/extract-msg/0.58.1/ .. |PyPI2| image:: https://img.shields.io/badge/python-3.8+-brightgreen.svg :target: https://www.python.org/downloads/release/python-3810/ diff --git a/extract_msg/__init__.py b/extract_msg/__init__.py index e04d3088..f4b505d7 100644 --- a/extract_msg/__init__.py +++ b/extract_msg/__init__.py @@ -27,8 +27,8 @@ # along with this program. If not, see . __author__ = 'Destiny Peterson & Matthew Walker' -__date__ = '2026-10-28' -__version__ = '0.58.0' +__date__ = '2026-10-31' +__version__ = '0.58.1' __all__ = [ # Modules: diff --git a/extract_msg/attachments/emb_msg_att.py b/extract_msg/attachments/emb_msg_att.py index f29b2e0b..1e844a52 100644 --- a/extract_msg/attachments/emb_msg_att.py +++ b/extract_msg/attachments/emb_msg_att.py @@ -34,7 +34,7 @@ class EmbeddedMsgAttachment(AttachmentBase): def __init__(self, msg: MSGFile, dir_: str, propStore: PropertiesStore): super().__init__(msg, dir_, propStore) - self.__prefix = msg.prefixList + [dir_, '__substg1.0_3701000D'] + self.__prefix = msg.prefix / dir_ / '__substg1.0_3701000D' self.__data = openMsg(self.msg.path, prefix = self.__prefix, parentMsg = self.msg, treePath = self.treePath, **self.msg.kwargs) def getFilename(self, **kwargs) -> str: diff --git a/extract_msg/msg_classes/msg.py b/extract_msg/msg_classes/msg.py index 8e230608..ce617f04 100644 --- a/extract_msg/msg_classes/msg.py +++ b/extract_msg/msg_classes/msg.py @@ -1130,7 +1130,7 @@ def path(self): return self.__path @property - def prefix(self) -> str: + def prefix(self) -> MSGPath: """ The prefix of the ``MSGFile`` instance. From 409c54e8d849df3681109e50cb54afc67fd204a8 Mon Sep 17 00:00:00 2001 From: TheElementalOfDestruction Date: Sat, 31 Oct 2026 02:03:14 -0700 Subject: [PATCH 2/2] Change actions to previous ubuntu version --- .github/workflows/python-package.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml index 9f931464..1254884a 100644 --- a/.github/workflows/python-package.yml +++ b/.github/workflows/python-package.yml @@ -10,7 +10,7 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-24.04 # Temporarily set lower due to missing packages. We'll come back and properly handle this later. strategy: fail-fast: false matrix: