pavansuresh commited on
Commit
a77b28f
·
verified ·
1 Parent(s): 4fc2a49

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +14 -3
utils.py CHANGED
@@ -5,6 +5,7 @@ import re
5
  import difflib
6
  from simple_salesforce import Salesforce
7
  from dotenv import load_dotenv
 
8
 
9
  # Load .env variables
10
  load_dotenv()
@@ -51,6 +52,16 @@ def extract_text_from_pdf(pdf_path):
51
  except Exception as e:
52
  return None, str(e)
53
 
 
 
 
 
 
 
 
 
 
 
54
  # ✅ Extract key-value pairs smartly from the PDF text
55
  def extract_key_value_pairs(pdf_path):
56
  try:
@@ -95,9 +106,9 @@ def extract_key_value_pairs(pdf_path):
95
  )
96
  if match_dates:
97
  keys.append("Agreement Start Date")
98
- values.append(match_dates.group(1).strip())
99
  keys.append("Agreement End Date")
100
- values.append(match_dates.group(2).strip())
101
 
102
  return [{"keys": keys, "values": values}], None
103
  except Exception as e:
@@ -163,4 +174,4 @@ def attach_pdf(sf, record_id, pdf_path):
163
  def log_failure(pdf_path, object_name, error):
164
  with open("failures.json", "a") as f:
165
  json.dump({"pdf": pdf_path, "object": object_name, "error": error}, f)
166
- f.write("\n")
 
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()
 
52
  except Exception as e:
53
  return None, str(e)
54
 
55
+ # ✅ Helper: Convert date to YYYY-MM-DD
56
+ def convert_to_salesforce_date(date_str):
57
+ for fmt in ("%m/%d/%Y", "%m/%d/%y"):
58
+ try:
59
+ dt = datetime.strptime(date_str, fmt)
60
+ return dt.strftime("%Y-%m-%d")
61
+ except ValueError:
62
+ continue
63
+ return date_str # Return original if no match
64
+
65
  # ✅ Extract key-value pairs smartly from the PDF text
66
  def extract_key_value_pairs(pdf_path):
67
  try:
 
106
  )
107
  if match_dates:
108
  keys.append("Agreement Start Date")
109
+ values.append(convert_to_salesforce_date(match_dates.group(1).strip()))
110
  keys.append("Agreement End Date")
111
+ values.append(convert_to_salesforce_date(match_dates.group(2).strip()))
112
 
113
  return [{"keys": keys, "values": values}], None
114
  except Exception as e:
 
174
  def log_failure(pdf_path, object_name, error):
175
  with open("failures.json", "a") as f:
176
  json.dump({"pdf": pdf_path, "object": object_name, "error": error}, f)
177
+ f.write("\n")