DSatishchandra commited on
Commit
47a909e
·
verified ·
1 Parent(s): a35c1bc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -14
app.py CHANGED
@@ -3,6 +3,7 @@ import gradio as gr
3
  import cv2
4
  import easyocr
5
  from simple_salesforce import Salesforce
 
6
 
7
  # Salesforce credentials
8
  Salesforce_User_Name = '[email protected]' # Your Salesforce username
@@ -29,32 +30,45 @@ def extract_patient_info(image):
29
  result = reader.readtext(image_rgb)
30
  extracted_text = " ".join([detection[1] for detection in result])
31
 
32
- # Tokenize the extracted text with LayoutLM
33
- inputs = tokenizer(extracted_text, return_tensors="pt")
34
- outputs = model(**inputs)
35
-
36
- # Here, extracted_text is already available from EasyOCR, we can extract relevant details
37
  details = extract_details_from_text(extracted_text)
38
 
39
  # Create a record in Salesforce using the extracted details
40
  create_salesforce_record(details)
41
 
42
- # Return the extracted text
43
  return extracted_text
44
 
45
- # Function to extract details from the extracted text (use regex or other methods to extract)
46
  def extract_details_from_text(extracted_text):
47
- # Simple example of extracting details, customize this according to the format of the text
48
  details = {}
49
- details['Name'] = "Shanthi" # Here, add the logic to extract the actual name
50
- details['Age'] = "39" # Similarly, extract age, gender, and phone number
51
- details['Gender'] = "Female"
52
- details['Phone Number'] = "9955337097"
53
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
54
  return details
55
 
56
- # Function to create a record in Salesforce
57
  def create_salesforce_record(details):
 
58
  data = {
59
  'Name__c': details['Name'],
60
  'Age__c': int(details['Age']),
 
3
  import cv2
4
  import easyocr
5
  from simple_salesforce import Salesforce
6
+ import re
7
 
8
  # Salesforce credentials
9
  Salesforce_User_Name = '[email protected]' # Your Salesforce username
 
30
  result = reader.readtext(image_rgb)
31
  extracted_text = " ".join([detection[1] for detection in result])
32
 
33
+ # Extract relevant details (Name, Age, Gender, Phone number) from the extracted text
 
 
 
 
34
  details = extract_details_from_text(extracted_text)
35
 
36
  # Create a record in Salesforce using the extracted details
37
  create_salesforce_record(details)
38
 
39
+ # Return the extracted text for display
40
  return extracted_text
41
 
42
+ # Function to extract details from the extracted text using regex
43
  def extract_details_from_text(extracted_text):
44
+ # Regex patterns to match Name, Age, Gender, and Phone number
45
  details = {}
46
+
47
+ # Extract Name
48
+ name_match = re.search(r"Name[:\s]*([A-Za-z\s]+)", extracted_text)
49
+ if name_match:
50
+ details['Name'] = name_match.group(1)
51
+
52
+ # Extract Age
53
+ age_match = re.search(r"Age[:\s]*([\d]+)", extracted_text)
54
+ if age_match:
55
+ details['Age'] = age_match.group(1)
56
+
57
+ # Extract Gender
58
+ gender_match = re.search(r"Gender[:\s]*(Male|Female)", extracted_text, re.IGNORECASE)
59
+ if gender_match:
60
+ details['Gender'] = gender_match.group(1)
61
+
62
+ # Extract Phone number
63
+ phone_match = re.search(r"Phone number[:\s]*([\d]+)", extracted_text)
64
+ if phone_match:
65
+ details['Phone Number'] = phone_match.group(1)
66
+
67
  return details
68
 
69
+ # Function to create a record in Salesforce using the extracted details
70
  def create_salesforce_record(details):
71
+ # Prepare the data to be inserted into Salesforce
72
  data = {
73
  'Name__c': details['Name'],
74
  'Age__c': int(details['Age']),