diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ea16107d..3831a9845 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [1.2.23] + +* **fix: Use Google Drive mimeType to infer export extension** + ## [1.2.22] * **feat: Add option to disable binary encoded vectors in AstraDBUploader** diff --git a/test/unit/processes/connectors/test_google_drive.py b/test/unit/processes/connectors/test_google_drive.py new file mode 100644 index 000000000..02d7b3ab6 --- /dev/null +++ b/test/unit/processes/connectors/test_google_drive.py @@ -0,0 +1,32 @@ +import pytest + +from unstructured_ingest.data_types.file_data import FileData, SourceIdentifiers +from unstructured_ingest.processes.connectors.google_drive import CONNECTOR_TYPE, _get_extension + + +@pytest.mark.parametrize( + ("mime_type", "expected_extension"), + [ + ("application/vnd.google-apps.document", ".docx"), + ("application/vnd.google-apps.spreadsheet", ".xlsx"), + ("application/vnd.google-apps.presentation", ".pptx"), + ], +) +def test_get_extension_for_google_workspace_files(mime_type: str, expected_extension: str): + file_data = FileData( + connector_type=CONNECTOR_TYPE, + identifier="test-id", + source_identifiers=SourceIdentifiers(filename="file", fullpath="file"), + additional_metadata={"mimeType": mime_type}, + ) + assert _get_extension(file_data) == expected_extension + + +def test_get_extension_returns_empty_for_unknown_mime_type(): + file_data = FileData( + connector_type=CONNECTOR_TYPE, + identifier="test-id", + source_identifiers=SourceIdentifiers(filename="file", fullpath="file"), + additional_metadata={"mimeType": "application/pdf"}, + ) + assert _get_extension(file_data) == "" diff --git a/unstructured_ingest/__version__.py b/unstructured_ingest/__version__.py index bc4ce739e..ff279748b 100644 --- a/unstructured_ingest/__version__.py +++ b/unstructured_ingest/__version__.py @@ -1 +1 @@ -__version__ = "1.2.22" # pragma: no cover +__version__ = "1.2.23" # pragma: no cover diff --git a/unstructured_ingest/processes/connectors/google_drive.py b/unstructured_ingest/processes/connectors/google_drive.py index 942299f3e..01e7b7e21 100644 --- a/unstructured_ingest/processes/connectors/google_drive.py +++ b/unstructured_ingest/processes/connectors/google_drive.py @@ -491,7 +491,7 @@ def _get_extension(file_data: FileData) -> str: """ Returns the extension for a given source MIME type. """ - source_mime_type = file_data.additional_metadata.get("export_mime_type", "") + source_mime_type = file_data.additional_metadata.get("mimeType", "") export_mime_type = GOOGLE_EXPORT_MIME_MAP.get(source_mime_type, "") if export_mime_type: return EXPORT_EXTENSION_MAP.get(export_mime_type, "")