Sanjayraju30 commited on
Commit
09d2cb1
Β·
verified Β·
1 Parent(s): 3c80166

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +23 -20
src/streamlit_app.py CHANGED
@@ -7,25 +7,31 @@ st.set_page_config(page_title="βš–οΈ Auto Weight Logger", layout="centered")
7
  st.title("βš–οΈ Auto Weight Logger")
8
 
9
  # ------------------------------
10
- # βœ… Session state for clearing input
11
  # ------------------------------
12
- if "reset" not in st.session_state:
13
- st.session_state.reset = False
14
 
15
- # πŸ” Auto rerun if reset is active
16
- if st.session_state.reset:
17
- st.session_state.reset = False
18
- st.rerun()
19
 
20
- # πŸ”˜ Manual clear/reset button
21
- if st.button("πŸ” Clear Photo"):
22
- st.session_state.reset = True
23
  st.rerun()
24
 
25
- # πŸ“· Capture webcam image
26
- img_data = st.camera_input("πŸ“· Capture the weight display")
 
 
 
 
27
 
28
- # πŸ” Process image only if captured
 
 
29
  if img_data:
30
  st.success("βœ… Image captured successfully!")
31
 
@@ -41,18 +47,15 @@ if img_data:
41
 
42
  st.write(f"πŸ› οΈ DEBUG: weight = {weight}, confidence = {confidence}")
43
 
44
- # ❌ If confidence is low or result missing β€” show Retake
45
  if not weight or confidence < 80:
46
- st.error(f"⚠️ OCR confidence too low ({int(confidence)}%). Please retake the image.")
47
- if st.button("πŸ” Retake Photo"):
48
- st.session_state.reset = True
49
- st.rerun()
50
  st.stop()
51
 
52
- # βœ… Valid result
53
  st.success(f"βœ… Detected Weight: {weight} g (Confidence: {int(confidence)}%)")
54
 
55
- # πŸ”— Salesforce URL
56
  device_id = "BAL-001"
57
  image_url = "" # Optional
58
 
 
7
  st.title("βš–οΈ Auto Weight Logger")
8
 
9
  # ------------------------------
10
+ # βœ… Session state management
11
  # ------------------------------
12
+ if "show_camera" not in st.session_state:
13
+ st.session_state.show_camera = True
14
 
15
+ # πŸ”˜ Clear or Retake Button pressed
16
+ if st.button("πŸ” Clear / Retake Photo"):
17
+ st.session_state.show_camera = False # hide camera for one cycle
18
+ st.experimental_rerun() # or st.rerun() depending on streamlit version
19
 
20
+ # πŸ”„ Reset camera on next run
21
+ if not st.session_state.show_camera:
22
+ st.session_state.show_camera = True
23
  st.rerun()
24
 
25
+ # ------------------------------
26
+ # πŸ“· Show camera input
27
+ # ------------------------------
28
+ img_data = None
29
+ if st.session_state.show_camera:
30
+ img_data = st.camera_input("πŸ“· Capture the weight display")
31
 
32
+ # ------------------------------
33
+ # βœ… Process if image is captured
34
+ # ------------------------------
35
  if img_data:
36
  st.success("βœ… Image captured successfully!")
37
 
 
47
 
48
  st.write(f"πŸ› οΈ DEBUG: weight = {weight}, confidence = {confidence}")
49
 
50
+ # ❌ Handle low confidence
51
  if not weight or confidence < 80:
52
+ st.error(f"⚠️ OCR confidence too low ({int(confidence)}%). Please retake the photo.")
 
 
 
53
  st.stop()
54
 
55
+ # βœ… Success
56
  st.success(f"βœ… Detected Weight: {weight} g (Confidence: {int(confidence)}%)")
57
 
58
+ # Salesforce URL setup
59
  device_id = "BAL-001"
60
  image_url = "" # Optional
61