SMART_KYC_OCR / app.py
gopichandra's picture
Update app.py
a4d0a87 verified
import json
from paddleocr import PaddleOCR
from simple_salesforce import Salesforce
# ------------------------
# CONFIGURATION
# ------------------------
SF_USERNAME = "licproject@2025.com"
SF_PASSWORD = "Lic@2025"
SF_TOKEN = "AmmfRcd6IiYaRtSGntBnzNMQU"
IMAGE_PATH = "sample.jpg" # Change this to your actual image file path
# ------------------------
# CONNECT TO SALESFORCE
# ------------------------
def connect_salesforce():
try:
sf = Salesforce(
username=SF_USERNAME,
password=SF_PASSWORD,
security_token=SF_TOKEN,
domain="login" # Production
)
print("βœ… Connected to Salesforce (Production)")
return sf
except Exception as e:
print("❌ Production login failed:", e)
try:
sf = Salesforce(
username=SF_USERNAME,
password=SF_PASSWORD,
security_token=SF_TOKEN,
domain="test" # Sandbox
)
print("βœ… Connected to Salesforce (Sandbox)")
return sf
except Exception as e2:
print("❌ Sandbox login failed:", e2)
return None
# ------------------------
# RUN OCR
# ------------------------
def extract_text_from_image(image_path):
try:
ocr = PaddleOCR(use_angle_cls=True, lang='en')
results = ocr.ocr(image_path, cls=True)
extracted_text = [line[1][0] for line in results[0]]
return {"status": "success", "text": extracted_text}
except Exception as e:
return {"status": "error", "message": str(e)}
# ------------------------
# MAIN EXECUTION
# ------------------------
if __name__ == "__main__":
sf_conn = connect_salesforce()
if not sf_conn:
output = {
"salesforce_result": {
"status": "error",
"message": "Salesforce not connected"
}
}
print(json.dumps(output, indent=4))
exit()
ocr_output = extract_text_from_image(IMAGE_PATH)
final_output = {
"salesforce_result": {
"status": "connected"
},
"ocr_result": ocr_output
}
print(json.dumps(final_output, indent=4))