Spaces:
Runtime error
Runtime error
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)) | |