mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
SharePoint upload is skipped when client is None 🟩
This commit is contained in:
parent
8ccee0ea77
commit
b657117f19
4 changed files with 19 additions and 7 deletions
|
|
@ -40,10 +40,6 @@ def handler(body: Dict[str, Any], context: Any) -> List[str]:
|
|||
if (not pashub_email) or (not pashub_password):
|
||||
raise ValueError("Pas Hub credentials not provided")
|
||||
|
||||
sharepoint_client = DomnaSharepointClient(
|
||||
sharepoint_location=DomnaSites.SOCIAL_HOUSING_WAVE_3
|
||||
)
|
||||
|
||||
if coordination_hub_email and coordination_hub_password:
|
||||
_coord_email, _coord_password = (
|
||||
coordination_hub_email,
|
||||
|
|
@ -57,6 +53,16 @@ def handler(body: Dict[str, Any], context: Any) -> List[str]:
|
|||
payload = PashubToAraTriggerRequest.model_validate(body)
|
||||
logger.debug("Successfully validated request body")
|
||||
|
||||
sharepoint_client: Optional[DomnaSharepointClient] = None
|
||||
if payload.sharepoint_site is not None:
|
||||
try:
|
||||
resolved_site = DomnaSites[payload.sharepoint_site]
|
||||
sharepoint_client = DomnaSharepointClient(sharepoint_location=resolved_site)
|
||||
except KeyError:
|
||||
logger.warning(
|
||||
f"Unrecognised sharepoint_site '{payload.sharepoint_site}'; skipping SharePoint upload"
|
||||
)
|
||||
|
||||
service = PashubService(
|
||||
pashub_client=get_pashub_client(pashub_email, pashub_password),
|
||||
sharepoint_client=sharepoint_client,
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class PashubService:
|
|||
def __init__(
|
||||
self,
|
||||
pashub_client: PashubClient,
|
||||
sharepoint_client: DomnaSharepointClient,
|
||||
sharepoint_client: Optional[DomnaSharepointClient],
|
||||
s3_bucket: str,
|
||||
coordination_client_factory: Optional[Callable[[], PashubClient]] = None,
|
||||
) -> None:
|
||||
|
|
@ -111,7 +111,7 @@ class PashubService:
|
|||
default_file_type=FileTypeEnum.OTHER.value,
|
||||
)
|
||||
|
||||
if request.sharepoint_link and request.address:
|
||||
if self._sharepoint_client and request.sharepoint_link and request.address:
|
||||
folder_name = request.address.split("|")[0].strip()
|
||||
folders = self._sharepoint_client.get_folders_in_path(request.sharepoint_link)
|
||||
match = next(
|
||||
|
|
@ -207,6 +207,7 @@ class PashubService:
|
|||
property_folder_path: str,
|
||||
files: List[DownloadedFile],
|
||||
) -> None:
|
||||
assert self._sharepoint_client is not None
|
||||
for df in files:
|
||||
filename = os.path.basename(df.file_path)
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ class PashubToAraTriggerRequest(BaseModel):
|
|||
hubspot_listing_id: Optional[int] = None
|
||||
hubspot_deal_id: Optional[str] = None
|
||||
|
||||
sharepoint_site: Optional[str] = None
|
||||
|
||||
get_other_files: bool = False
|
||||
|
||||
@property
|
||||
|
|
|
|||
|
|
@ -53,9 +53,11 @@ EXCEL_PATH: str = os.path.join(
|
|||
)
|
||||
|
||||
SHAREPOINT_PROPERTIES_FOLDER: str = (
|
||||
"https://domnagroup.sharepoint.com/:f:/s/ECO/IgCCLUg3PJ-eS7BLDAwiNlelAW_WXLCb9wcjkigbLfHhPOY?e=DTbNNv"
|
||||
"Housing Associations/- Client Shared Folders/Abri/Abri Property Folders (Full PAS Info)"
|
||||
)
|
||||
|
||||
SHAREPOINT_SITE: str = "ECO"
|
||||
|
||||
|
||||
def _build_requests(excel_path: str) -> list[PashubToAraTriggerRequest]:
|
||||
wb = load_workbook(excel_path, data_only=True)
|
||||
|
|
@ -104,6 +106,7 @@ def _build_requests(excel_path: str) -> list[PashubToAraTriggerRequest]:
|
|||
address=address,
|
||||
deal_stage=deal_stage,
|
||||
sharepoint_link=SHAREPOINT_PROPERTIES_FOLDER or None,
|
||||
sharepoint_site=SHAREPOINT_SITE,
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue