File size: 1,183 Bytes
9bbe87e
92fb795
0112378
812afe6
0112378
4f5f0dd
0112378
 
8af11cb
788bf64
0112378
788bf64
0112378
 
92fb795
8af11cb
 
9bbe87e
0112378
 
 
 
 
 
9bbe87e
0112378
 
 
 
9bbe87e
9aa3367
0112378
 
9bbe87e
 
 
0112378
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import gradio as gr
from ocr_engine import extract_weight_from_image
from utils import get_ist_time

def process_image(image):
    try:
        if image is None:
            return "No image provided", "-", None, "-"
        
        weight, confidence = extract_weight_from_image(image)
        timestamp = get_ist_time()

        if not weight:
            return "No weight detected", timestamp, image, "-"

        sf_url = f"https://your-salesforce-site.com/log-weight?weight={weight}&time={timestamp}"
        return f"{weight} g (Confidence: {confidence}%)", timestamp, image, sf_url

    except Exception as e:
        return f"Error: {str(e)}", "-", None, "-"

iface = gr.Interface(
    fn=process_image,
    inputs=gr.Image(type="pil", label="Upload or Capture Snapshot"),
    outputs=[
        gr.Textbox(label="Detected Weight"),
        gr.Textbox(label="Captured At (IST)"),
        gr.Image(label="Snapshot Image"),
        gr.Textbox(label="Salesforce Log URL"),
    ],
    title="⚖️ Auto Weight Logger",
    description="Upload or capture a digital scale snapshot to detect weight automatically.",
    live=True,
)

if __name__ == "__main__":
    iface.launch()