diff --git a/packages/markitdown/src/markitdown/converters/_zip_converter.py b/packages/markitdown/src/markitdown/converters/_zip_converter.py index f87e6c890..2e275dfc4 100644 --- a/packages/markitdown/src/markitdown/converters/_zip_converter.py +++ b/packages/markitdown/src/markitdown/converters/_zip_converter.py @@ -104,6 +104,7 @@ def convert( result = self._markitdown.convert_stream( stream=z_file_stream, stream_info=z_file_stream_info, + **kwargs, ) if result is not None: md_content += f"## File: {name}\n\n" diff --git a/packages/markitdown/tests/test_module_misc.py b/packages/markitdown/tests/test_module_misc.py index 4d62e4919..fab4810c7 100644 --- a/packages/markitdown/tests/test_module_misc.py +++ b/packages/markitdown/tests/test_module_misc.py @@ -3,6 +3,7 @@ import os import re import shutil +import zipfile import pytest from unittest.mock import MagicMock @@ -220,6 +221,25 @@ def test_data_uris() -> None: assert data == b"Hello, World!" +def test_zip_conversion_propagates_keep_data_uris() -> None: + archive = io.BytesIO() + html = ( + "example" + ) + with zipfile.ZipFile(archive, "w") as zf: + zf.writestr("index.html", html) + archive.seek(0) + + result = MarkItDown().convert_stream( + archive, + stream_info=StreamInfo(extension=".zip", mimetype="application/zip"), + keep_data_uris=True, + ) + + assert "data:image/png;base64,SGVsbG8=" in result.markdown + + def test_file_uris() -> None: # Test file URI with an empty host file_uri = "file:///path/to/file.txt"