mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
All downloaded PasHub files uploaded to SharePoint property folder 🟩
This commit is contained in:
parent
39fa1ccfa0
commit
7984a6ded8
2 changed files with 23 additions and 12 deletions
|
|
@ -20,7 +20,6 @@ from backend.pashub_fetcher.pashub_client import (
|
|||
from backend.pashub_fetcher.pashub_to_ara_trigger_request import (
|
||||
PashubToAraTriggerRequest,
|
||||
)
|
||||
from backend.pashub_fetcher.sharepoint_subfolders import SharepointSubfolders
|
||||
from datatypes.epc.domain.epc_property_data import EpcPropertyData
|
||||
from utils.logger import setup_logger
|
||||
from utils.s3 import upload_file_to_s3
|
||||
|
|
@ -112,10 +111,18 @@ class PashubService:
|
|||
default_file_type=FileTypeEnum.OTHER.value,
|
||||
)
|
||||
|
||||
# SharePoint upload disabled: pashub sharepoint_link is inconsistent
|
||||
# (points to property or project unpredictably)
|
||||
# if request.sharepoint_link:
|
||||
# self._upload_to_sharepoint(request.sharepoint_link, downloaded.core)
|
||||
if 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(
|
||||
(f["name"] for f in folders.get("value", []) if f["name"].lower() == folder_name.lower()),
|
||||
None,
|
||||
)
|
||||
if match is None:
|
||||
logger.warning(f"SharePoint folder not found for '{folder_name}' in {request.sharepoint_link}")
|
||||
else:
|
||||
property_folder_path = f"{request.sharepoint_link}/{match}"
|
||||
self._upload_to_sharepoint(property_folder_path, downloaded.core + downloaded.other)
|
||||
|
||||
for df in downloaded.core + downloaded.other:
|
||||
try:
|
||||
|
|
@ -197,11 +204,12 @@ class PashubService:
|
|||
|
||||
def _upload_to_sharepoint(
|
||||
self,
|
||||
sharepoint_link: str,
|
||||
job_files: List[str],
|
||||
property_folder_path: str,
|
||||
files: List[DownloadedFile],
|
||||
) -> None:
|
||||
assessment_path = f"{sharepoint_link}/{SharepointSubfolders.ASSESSMENT.value}"
|
||||
|
||||
for file_path in job_files:
|
||||
filename = file_path.split("/")[-1]
|
||||
self._sharepoint_client.upload_file(file_path, assessment_path, filename)
|
||||
for df in files:
|
||||
filename = os.path.basename(df.file_path)
|
||||
try:
|
||||
self._sharepoint_client.upload_file(df.file_path, property_folder_path, filename)
|
||||
except Exception:
|
||||
logger.warning(f"Failed to upload {filename} to SharePoint", exc_info=True)
|
||||
|
|
|
|||
|
|
@ -52,6 +52,8 @@ EXCEL_PATH: str = os.path.join(
|
|||
"local_run_02-06-2026/NCHA WAVE 3 RAs.xlsx",
|
||||
)
|
||||
|
||||
SHAREPOINT_PROPERTIES_FOLDER: str = ""
|
||||
|
||||
|
||||
def _build_requests(excel_path: str) -> list[PashubToAraTriggerRequest]:
|
||||
wb = load_workbook(excel_path, data_only=True)
|
||||
|
|
@ -99,6 +101,7 @@ def _build_requests(excel_path: str) -> list[PashubToAraTriggerRequest]:
|
|||
hubspot_deal_id=hubspot_deal_id,
|
||||
address=address,
|
||||
deal_stage=deal_stage,
|
||||
sharepoint_link=SHAREPOINT_PROPERTIES_FOLDER or None,
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue