Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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**
Expand Down
32 changes: 32 additions & 0 deletions test/unit/processes/connectors/test_google_drive.py
Original file line number Diff line number Diff line change
@@ -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) == ""
2 changes: 1 addition & 1 deletion unstructured_ingest/__version__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "1.2.22" # pragma: no cover
__version__ = "1.2.23" # pragma: no cover
2 changes: 1 addition & 1 deletion unstructured_ingest/processes/connectors/google_drive.py
Original file line number Diff line number Diff line change
Expand Up @@ -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, "")
Expand Down