mirror of
https://github.com/Hestia-Homes/insight.git
synced 2026-06-08 11:17:25 +00:00
completed check for one
This commit is contained in:
parent
995a5e353d
commit
07c6d5e7aa
2 changed files with 54 additions and 9 deletions
|
|
@ -1,6 +1,53 @@
|
|||
from dashboard.services.file_manager import FileManager
|
||||
from dashboard.services.json_reader import jsonReader
|
||||
s3 = FileManager()
|
||||
import asyncio
|
||||
import json
|
||||
from datetime import datetime
|
||||
|
||||
key, path, data = s3.download_and_read_latest()
|
||||
hubspot_data = jsonReader(data)
|
||||
from dashboard.services.hubspot_client import Pipeline
|
||||
from dashboard.services.hubspot_client_async import HubSpotClientAsync
|
||||
from dashboard.services.file_manager import FileManager
|
||||
|
||||
OUTPUT_FILE = "hubspot_deals.json"
|
||||
|
||||
|
||||
async def main():
|
||||
hubspot = HubSpotClientAsync()
|
||||
|
||||
# Fetch all deal IDs (but we will take only one)
|
||||
deals = await hubspot.get_deal_ids_by_pipeline(
|
||||
Pipeline.OPERATIONS_SOCIAL_HOUSING.value
|
||||
)
|
||||
|
||||
if not deals:
|
||||
print("No deals found.")
|
||||
return
|
||||
|
||||
# Only take ONE deal
|
||||
# Just do one
|
||||
deal_id = deals[0]
|
||||
print(f"Fetching only deal: {deal_id}")
|
||||
|
||||
try:
|
||||
data = await hubspot.from_deal_get_info(deal_id)
|
||||
except Exception as e:
|
||||
print(f"Error fetching deal {deal_id}: {e}")
|
||||
return
|
||||
|
||||
# Save result
|
||||
with open(OUTPUT_FILE, "w") as f:
|
||||
json.dump([data], f, indent=2)
|
||||
|
||||
print("Done! Saved 1 deal.")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
|
||||
fm = FileManager()
|
||||
timestamp = datetime.utcnow().strftime("%Y%m%d_%H%M%S")
|
||||
s3_filename = f"hubspot_deals_{timestamp}.json"
|
||||
|
||||
fm.upload_to_s3(
|
||||
OUTPUT_FILE,
|
||||
bucket="retrofit-data-dev",
|
||||
object_name=f"hubspot_insight/{s3_filename}"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -137,9 +137,7 @@ class HubSpotClientAsync:
|
|||
company_id = await self.from_deal_get_associated_company_id(deal_id)
|
||||
company_info = await self.get_company_information(company_id) if company_id else {}
|
||||
appointments = await self.from_deal_get_appointments(deal_id)
|
||||
|
||||
|
||||
|
||||
|
||||
return {
|
||||
"deal_properties": deal_info,
|
||||
"line_items": line_items,
|
||||
|
|
@ -313,7 +311,7 @@ class HubSpotClientAsync:
|
|||
json_ready_history = []
|
||||
for entry in history:
|
||||
safe_entry = {}
|
||||
for key, val in entry.items():
|
||||
for key, val in entry.to_dict().items():
|
||||
if isinstance(val, datetime):
|
||||
safe_entry[key] = val.isoformat()
|
||||
else:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue