Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -5,15 +5,35 @@ import gradio as gr
|
|
5 |
from utils import extract_kyc_fields
|
6 |
from simple_salesforce import Salesforce
|
7 |
|
8 |
-
# Salesforce
|
9 |
-
|
10 |
-
username="[email protected]"
|
11 |
-
password="Lic@2025"
|
12 |
-
|
13 |
-
)
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
def send_to_salesforce(aadhaar_data, pan_data):
|
16 |
-
|
|
|
|
|
17 |
try:
|
18 |
record = {
|
19 |
"Aadhaar_Name__c": aadhaar_data.get("name", ""),
|
@@ -29,14 +49,14 @@ def send_to_salesforce(aadhaar_data, pan_data):
|
|
29 |
except Exception as e:
|
30 |
return {"status": "error", "message": str(e)}
|
31 |
|
|
|
32 |
def process_documents(aadhaar_file, pan_file):
|
33 |
if aadhaar_file is None or pan_file is None:
|
34 |
return {"error": "Please upload both Aadhaar and PAN images."}
|
35 |
|
36 |
-
aadhaar_data = extract_kyc_fields(aadhaar_file.name)
|
37 |
-
pan_data = extract_kyc_fields(pan_file.name)
|
38 |
|
39 |
-
# Send to Salesforce
|
40 |
sf_result = send_to_salesforce(aadhaar_data, pan_data)
|
41 |
|
42 |
return {
|
@@ -45,6 +65,7 @@ def process_documents(aadhaar_file, pan_file):
|
|
45 |
"salesforce_result": sf_result
|
46 |
}
|
47 |
|
|
|
48 |
with gr.Blocks(title="Smart KYC OCR") as demo:
|
49 |
gr.Markdown("# 🧾 Smart KYC OCR Tool — Aadhaar & PAN Scanner")
|
50 |
|
|
|
5 |
from utils import extract_kyc_fields
|
6 |
from simple_salesforce import Salesforce
|
7 |
|
8 |
+
# ------------------ Salesforce Login ------------------
|
9 |
+
def salesforce_connect():
|
10 |
+
username = "[email protected]"
|
11 |
+
password = "Lic@2025"
|
12 |
+
token = "AmmfRcd6IiYaRtSGntBnzNMQU"
|
|
|
13 |
|
14 |
+
try:
|
15 |
+
# Append token to password for login
|
16 |
+
sf = Salesforce(
|
17 |
+
username=username,
|
18 |
+
password=password + token,
|
19 |
+
security_token="",
|
20 |
+
domain="login" # change to "test" for sandbox
|
21 |
+
)
|
22 |
+
return sf
|
23 |
+
except Exception as e:
|
24 |
+
return str(e)
|
25 |
+
|
26 |
+
sf = salesforce_connect()
|
27 |
+
if isinstance(sf, str):
|
28 |
+
print("Salesforce login failed:", sf)
|
29 |
+
else:
|
30 |
+
print("Salesforce connected successfully!")
|
31 |
+
|
32 |
+
# ------------------ Send Data to Salesforce ------------------
|
33 |
def send_to_salesforce(aadhaar_data, pan_data):
|
34 |
+
if isinstance(sf, str):
|
35 |
+
return {"status": "error", "message": "Salesforce not connected"}
|
36 |
+
|
37 |
try:
|
38 |
record = {
|
39 |
"Aadhaar_Name__c": aadhaar_data.get("name", ""),
|
|
|
49 |
except Exception as e:
|
50 |
return {"status": "error", "message": str(e)}
|
51 |
|
52 |
+
# ------------------ OCR Process ------------------
|
53 |
def process_documents(aadhaar_file, pan_file):
|
54 |
if aadhaar_file is None or pan_file is None:
|
55 |
return {"error": "Please upload both Aadhaar and PAN images."}
|
56 |
|
57 |
+
aadhaar_data = extract_kyc_fields(aadhaar_file.name, force_type="AADHAAR")
|
58 |
+
pan_data = extract_kyc_fields(pan_file.name, force_type="PAN")
|
59 |
|
|
|
60 |
sf_result = send_to_salesforce(aadhaar_data, pan_data)
|
61 |
|
62 |
return {
|
|
|
65 |
"salesforce_result": sf_result
|
66 |
}
|
67 |
|
68 |
+
# ------------------ Gradio UI ------------------
|
69 |
with gr.Blocks(title="Smart KYC OCR") as demo:
|
70 |
gr.Markdown("# 🧾 Smart KYC OCR Tool — Aadhaar & PAN Scanner")
|
71 |
|