GHarshasri commited on
Commit
09dcf9a
·
verified ·
1 Parent(s): 4da2d0c

Update src/streamlit_app.py

Browse files
Files changed (1) hide show
  1. src/streamlit_app.py +17 -14
src/streamlit_app.py CHANGED
@@ -4,21 +4,16 @@ import os
4
  import wikipedia
5
  import csv
6
  from datetime import datetime
7
- import tempfile
8
 
9
  # ====== Setup ======
10
  USERS = {}
11
-
12
- # Use system temp directory to avoid permission issues
13
- UPLOAD_FOLDER = os.path.join(tempfile.gettempdir(), "uploads")
14
  MEDIA_FOLDER = os.path.join(UPLOAD_FOLDER, "feedback_media")
15
  FEEDBACK_FILE = os.path.join(UPLOAD_FOLDER, "feedback.csv")
16
 
17
- try:
18
- os.makedirs(UPLOAD_FOLDER, exist_ok=True)
19
- os.makedirs(MEDIA_FOLDER, exist_ok=True)
20
- except Exception as e:
21
- st.error(f"Failed to create upload folders: {e}")
22
 
23
  STATES = {
24
  "Telangana": ["Hyderabad", "Warangal", "Nizamabad", "Karimnagar", "Khammam"],
@@ -48,7 +43,7 @@ for key, default in {
48
  def send_otp(email):
49
  st.session_state.otp_sent_to = email
50
  st.session_state.otp_verified = False
51
- return "1234"
52
 
53
  def verify_otp(entered_otp):
54
  if st.session_state.otp_sent_to and entered_otp == "1234":
@@ -75,12 +70,15 @@ def fetch_wikipedia_summary(title, lang="en"):
75
  return f"Error fetching summary: {str(e)}"
76
 
77
  def save_temp_file(uploaded_file, filetype):
78
- if uploaded_file:
79
  filename = f"{filetype}_{datetime.now().strftime('%Y%m%d%H%M%S')}_{uploaded_file.name}"
80
  filepath = os.path.join(MEDIA_FOLDER, filename)
81
- with open(filepath, "wb") as f:
82
- f.write(uploaded_file.read())
83
- return filepath
 
 
 
84
  return ""
85
 
86
  def save_feedback(email, place, state, district, text, img_path="", audio_path="", video_path=""):
@@ -223,6 +221,10 @@ def main_app():
223
  audio_path = save_temp_file(feedback_audio, "audio")
224
  video_path = save_temp_file(feedback_video, "video")
225
 
 
 
 
 
226
  save_feedback(
227
  email=st.session_state.email,
228
  place=place_to_search or "Unknown",
@@ -254,6 +256,7 @@ h1, h2, h3, h4, h5, h6 {
254
  </style>
255
  """, unsafe_allow_html=True)
256
 
 
257
  if not st.session_state.logged_in:
258
  page = st.sidebar.radio("Choose Option", ["Signup", "Login"])
259
  if page == "Signup":
 
4
  import wikipedia
5
  import csv
6
  from datetime import datetime
 
7
 
8
  # ====== Setup ======
9
  USERS = {}
10
+ UPLOAD_FOLDER = "uploads"
 
 
11
  MEDIA_FOLDER = os.path.join(UPLOAD_FOLDER, "feedback_media")
12
  FEEDBACK_FILE = os.path.join(UPLOAD_FOLDER, "feedback.csv")
13
 
14
+ # Create folders if they don't exist
15
+ os.makedirs(UPLOAD_FOLDER, exist_ok=True)
16
+ os.makedirs(MEDIA_FOLDER, exist_ok=True)
 
 
17
 
18
  STATES = {
19
  "Telangana": ["Hyderabad", "Warangal", "Nizamabad", "Karimnagar", "Khammam"],
 
43
  def send_otp(email):
44
  st.session_state.otp_sent_to = email
45
  st.session_state.otp_verified = False
46
+ return "1234" # Simulated OTP
47
 
48
  def verify_otp(entered_otp):
49
  if st.session_state.otp_sent_to and entered_otp == "1234":
 
70
  return f"Error fetching summary: {str(e)}"
71
 
72
  def save_temp_file(uploaded_file, filetype):
73
+ if uploaded_file is not None:
74
  filename = f"{filetype}_{datetime.now().strftime('%Y%m%d%H%M%S')}_{uploaded_file.name}"
75
  filepath = os.path.join(MEDIA_FOLDER, filename)
76
+ try:
77
+ with open(filepath, "wb") as f:
78
+ f.write(uploaded_file.getbuffer()) # safer for streamlit files
79
+ return filepath
80
+ except Exception as e:
81
+ st.error(f"Failed to save {filetype} file: {e}")
82
  return ""
83
 
84
  def save_feedback(email, place, state, district, text, img_path="", audio_path="", video_path=""):
 
221
  audio_path = save_temp_file(feedback_audio, "audio")
222
  video_path = save_temp_file(feedback_video, "video")
223
 
224
+ st.sidebar.write(f"Image saved at: {img_path}")
225
+ st.sidebar.write(f"Audio saved at: {audio_path}")
226
+ st.sidebar.write(f"Video saved at: {video_path}")
227
+
228
  save_feedback(
229
  email=st.session_state.email,
230
  place=place_to_search or "Unknown",
 
256
  </style>
257
  """, unsafe_allow_html=True)
258
 
259
+ # ====== Run app ======
260
  if not st.session_state.logged_in:
261
  page = st.sidebar.radio("Choose Option", ["Signup", "Login"])
262
  if page == "Signup":