community[minor]: Implement lazy_load() for OutlookMessageLoader (#18668)

Integration test:
`tests/integration_tests/document_loaders/test_email.py`
pull/18671/head
Christophe Bornet 4 months ago committed by GitHub
parent ae167fb5b2
commit 2d96803ddd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1,5 +1,5 @@
import os
from typing import Any, List
from typing import Any, Iterator, List
from langchain_core.documents import Document
@ -99,19 +99,16 @@ class OutlookMessageLoader(BaseLoader):
"`pip install extract_msg`"
)
def load(self) -> List[Document]:
"""Load data into document objects."""
def lazy_load(self) -> Iterator[Document]:
import extract_msg
msg = extract_msg.Message(self.file_path)
return [
Document(
page_content=msg.body,
metadata={
"source": self.file_path,
"subject": msg.subject,
"sender": msg.sender,
"date": msg.date,
},
)
]
yield Document(
page_content=msg.body,
metadata={
"source": self.file_path,
"subject": msg.subject,
"sender": msg.sender,
"date": msg.date,
},
)

Loading…
Cancel
Save