Add session to ConfluenceLoader.__init__() (#9437)

- Description: Allows the user of `ConfluenceLoader` to pass a
`requests.Session` object in lieu of an authentication mechanism
- Issue: None
- Dependencies: None
- Tag maintainer: @hwchase17
This commit is contained in:
Mike Salvatore 2023-08-21 16:18:35 -04:00 committed by GitHub
parent d09cdb4880
commit 7c0b1b8171
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3,6 +3,7 @@ from enum import Enum
from io import BytesIO from io import BytesIO
from typing import Any, Callable, Dict, List, Optional, Union from typing import Any, Callable, Dict, List, Optional, Union
import requests
from tenacity import ( from tenacity import (
before_sleep_log, before_sleep_log,
retry, retry,
@ -106,6 +107,7 @@ class ConfluenceLoader(BaseLoader):
url: str, url: str,
api_key: Optional[str] = None, api_key: Optional[str] = None,
username: Optional[str] = None, username: Optional[str] = None,
session: Optional[requests.Session] = None,
oauth2: Optional[dict] = None, oauth2: Optional[dict] = None,
token: Optional[str] = None, token: Optional[str] = None,
cloud: Optional[bool] = True, cloud: Optional[bool] = True,
@ -134,7 +136,9 @@ class ConfluenceLoader(BaseLoader):
"`pip install atlassian-python-api`" "`pip install atlassian-python-api`"
) )
if oauth2: if session:
self.confluence = Confluence(url=url, session=session, **confluence_kwargs)
elif oauth2:
self.confluence = Confluence( self.confluence = Confluence(
url=url, oauth2=oauth2, cloud=cloud, **confluence_kwargs url=url, oauth2=oauth2, cloud=cloud, **confluence_kwargs
) )