Spaces:
Sleeping
Sleeping
Update utils.py
Browse files
utils.py
CHANGED
|
@@ -3,9 +3,10 @@ import fitz # PyMuPDF
|
|
| 3 |
import json
|
| 4 |
import re
|
| 5 |
import difflib
|
|
|
|
| 6 |
from simple_salesforce import Salesforce
|
| 7 |
from dotenv import load_dotenv
|
| 8 |
-
from datetime import datetime
|
| 9 |
|
| 10 |
# Load .env variables
|
| 11 |
load_dotenv()
|
|
@@ -147,14 +148,17 @@ def create_record(sf, object_name, data):
|
|
| 147 |
except Exception as e:
|
| 148 |
return None, str(e)
|
| 149 |
|
|
|
|
| 150 |
def attach_pdf(sf, record_id, pdf_path):
|
| 151 |
try:
|
| 152 |
with open(pdf_path, "rb") as f:
|
| 153 |
body = f.read()
|
|
|
|
|
|
|
| 154 |
content_version = sf.ContentVersion.create({
|
| 155 |
"Title": os.path.basename(pdf_path),
|
| 156 |
"PathOnClient": os.path.basename(pdf_path),
|
| 157 |
-
"VersionData":
|
| 158 |
})
|
| 159 |
|
| 160 |
content_document_id = sf.query(
|
|
|
|
| 3 |
import json
|
| 4 |
import re
|
| 5 |
import difflib
|
| 6 |
+
import base64 # ✅ added for base64 encoding
|
| 7 |
from simple_salesforce import Salesforce
|
| 8 |
from dotenv import load_dotenv
|
| 9 |
+
from datetime import datetime # ✅ added for date conversion
|
| 10 |
|
| 11 |
# Load .env variables
|
| 12 |
load_dotenv()
|
|
|
|
| 148 |
except Exception as e:
|
| 149 |
return None, str(e)
|
| 150 |
|
| 151 |
+
# ✅ FIXED: Properly encode PDF as base64 string
|
| 152 |
def attach_pdf(sf, record_id, pdf_path):
|
| 153 |
try:
|
| 154 |
with open(pdf_path, "rb") as f:
|
| 155 |
body = f.read()
|
| 156 |
+
base64_body = base64.b64encode(body).decode("utf-8")
|
| 157 |
+
|
| 158 |
content_version = sf.ContentVersion.create({
|
| 159 |
"Title": os.path.basename(pdf_path),
|
| 160 |
"PathOnClient": os.path.basename(pdf_path),
|
| 161 |
+
"VersionData": base64_body
|
| 162 |
})
|
| 163 |
|
| 164 |
content_document_id = sf.query(
|