PrashanthB461 commited on
Commit
c13b880
·
verified ·
1 Parent(s): 6e638ff

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -15
app.py CHANGED
@@ -10,7 +10,7 @@ from reportlab.pdfgen import canvas
10
  from reportlab.lib.utils import ImageReader
11
  import base64
12
  from PIL import Image
13
- from simple_salesforce import Salesforce
14
 
15
  # ==========================
16
  # Configuration
@@ -51,13 +51,18 @@ except Exception as e:
51
  # Salesforce connection (hardcoded creds for testing)
52
  # ==========================
53
  def connect_to_salesforce():
54
- sf = Salesforce(
55
- username="prashanth1ai@safety.com",
56
- password="SaiPrash461",
57
- security_token="AP4AQnPoidIKPvSvNEfAHyoK",
58
- domain="login"
59
- )
60
- return sf
 
 
 
 
 
61
 
62
  # ==========================
63
  # Violation Format Update
@@ -70,17 +75,17 @@ def violations_to_text(violations):
70
  return "\n".join(lines)
71
 
72
  def push_report_to_salesforce(score, violations, pdf_filename):
73
- sf = connect_to_salesforce()
 
74
 
75
- violations_count = len(violations)
76
- violations_details = violations_to_text(violations)
77
 
78
- # Upload the PDF to Salesforce Files
79
- try:
80
  with open(pdf_filename, "rb") as f:
81
  pdf_data = f.read()
82
  file_name = os.path.basename(pdf_filename)
83
-
84
  # Upload to ContentVersion (Salesforce Files)
85
  file_upload = sf.ContentVersion.create({
86
  'Title': file_name,
@@ -89,7 +94,6 @@ def push_report_to_salesforce(score, violations, pdf_filename):
89
  })
90
 
91
  file_id = file_upload.get('id')
92
-
93
  # Get the public URL for the uploaded file (direct download link)
94
  public_url = f"https://{sf.sf_instance}.salesforce.com/sfc/servlet.shepherd/version/download/{file_id}"
95
 
@@ -103,6 +107,11 @@ def push_report_to_salesforce(score, violations, pdf_filename):
103
  })
104
  print(f"✅ Salesforce record created with Id: {record.get('id')}")
105
  return record.get("id")
 
 
 
 
 
106
  except Exception as e:
107
  print(f"❌ Salesforce record creation failed: {e}")
108
  return None
 
10
  from reportlab.lib.utils import ImageReader
11
  import base64
12
  from PIL import Image
13
+ from simple_salesforce import Salesforce, SalesforceMalformedRequest
14
 
15
  # ==========================
16
  # Configuration
 
51
  # Salesforce connection (hardcoded creds for testing)
52
  # ==========================
53
  def connect_to_salesforce():
54
+ try:
55
+ sf = Salesforce(
56
+ username="prashanth1ai@safety.com",
57
+ password="SaiPrash461",
58
+ security_token="AP4AQnPoidIKPvSvNEfAHyoK",
59
+ domain="login"
60
+ )
61
+ print("✅ Salesforce connection successful.")
62
+ return sf
63
+ except Exception as e:
64
+ print(f"❌ Salesforce connection failed: {e}")
65
+ raise
66
 
67
  # ==========================
68
  # Violation Format Update
 
75
  return "\n".join(lines)
76
 
77
  def push_report_to_salesforce(score, violations, pdf_filename):
78
+ try:
79
+ sf = connect_to_salesforce()
80
 
81
+ violations_count = len(violations)
82
+ violations_details = violations_to_text(violations)
83
 
84
+ # Upload the PDF to Salesforce Files
 
85
  with open(pdf_filename, "rb") as f:
86
  pdf_data = f.read()
87
  file_name = os.path.basename(pdf_filename)
88
+
89
  # Upload to ContentVersion (Salesforce Files)
90
  file_upload = sf.ContentVersion.create({
91
  'Title': file_name,
 
94
  })
95
 
96
  file_id = file_upload.get('id')
 
97
  # Get the public URL for the uploaded file (direct download link)
98
  public_url = f"https://{sf.sf_instance}.salesforce.com/sfc/servlet.shepherd/version/download/{file_id}"
99
 
 
107
  })
108
  print(f"✅ Salesforce record created with Id: {record.get('id')}")
109
  return record.get("id")
110
+
111
+ except SalesforceMalformedRequest as e:
112
+ print(f"❌ Salesforce malformed request: {e}")
113
+ print(f"Error details: {e.content}")
114
+ return None
115
  except Exception as e:
116
  print(f"❌ Salesforce record creation failed: {e}")
117
  return None