Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -116,7 +116,26 @@ def migrate_to_salesforce(pdf_paths, object_name):
|
|
| 116 |
if error:
|
| 117 |
log_failure(pdf_path, object_name, error)
|
| 118 |
return f"Error: {error}"
|
| 119 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 120 |
|
| 121 |
# 💡 Manually add required AccountId (replace with real one from your org)
|
| 122 |
data["AccountId"] = "001XXXXXXXXXXXXXXX" # Replace with valid 18-char Salesforce AccountId
|
|
|
|
| 116 |
if error:
|
| 117 |
log_failure(pdf_path, object_name, error)
|
| 118 |
return f"Error: {error}"
|
| 119 |
+
|
| 120 |
+
from datetime import datetime
|
| 121 |
+
raw_data = {mappings[key]: value for key, value in zip(extracted_data[0]["keys"], extracted_data[0]["values"])}
|
| 122 |
+
data = {}
|
| 123 |
+
|
| 124 |
+
for field, value in raw_data.items():
|
| 125 |
+
if isinstance(value, str) and any(sep in value for sep in ["/", "-"]):
|
| 126 |
+
try:
|
| 127 |
+
parsed_date = datetime.strptime(value.strip(), "%m/%d/%y")
|
| 128 |
+
data[field] = parsed_date.strftime("%Y-%m-%d")
|
| 129 |
+
continue
|
| 130 |
+
except ValueError:
|
| 131 |
+
try:
|
| 132 |
+
parsed_date = datetime.strptime(value.strip(), "%m/%d/%Y")
|
| 133 |
+
data[field] = parsed_date.strftime("%Y-%m-%d")
|
| 134 |
+
continue
|
| 135 |
+
except ValueError:
|
| 136 |
+
data[field] = value
|
| 137 |
+
else:
|
| 138 |
+
data[field] = value
|
| 139 |
|
| 140 |
# 💡 Manually add required AccountId (replace with real one from your org)
|
| 141 |
data["AccountId"] = "001XXXXXXXXXXXXXXX" # Replace with valid 18-char Salesforce AccountId
|