ImPolymath commited on
Commit
4ed65f9
·
1 Parent(s): ee4ee0e

update files upload feature

Browse files
Files changed (1) hide show
  1. pages/main.py +23 -1
pages/main.py CHANGED
@@ -65,7 +65,11 @@ def hash_file(file):
65
  return hasher.hexdigest()
66
 
67
  def callback_change_edited_text(key, value, modified_text):
68
- st.session_state.changed_uploaded_files[key]["bytes_data"] = st.session_state[modified_text].encode()
 
 
 
 
69
  #print(st.session_state.changed_uploaded_files[key])
70
 
71
  def save_attachment(attachment):
@@ -408,6 +412,16 @@ def main_page():
408
  "type": uploaded_file_type,
409
  "bytes_data": file.read()
410
  }
 
 
 
 
 
 
 
 
 
 
411
  changed_uploaded_files = {}
412
  for file_hash in st.session_state.changed_uploaded_files.keys():
413
  if file_hash in new_uploaded_files_hashes:
@@ -436,6 +450,14 @@ def main_page():
436
  format=f"audio/{value['type']}",
437
  autoplay=False
438
  )
 
 
 
 
 
 
 
 
439
 
440
 
441
  # Interface utilisateur pour l'enregistrement audio
 
65
  return hasher.hexdigest()
66
 
67
  def callback_change_edited_text(key, value, modified_text):
68
+ if value["type"] in ["txt"]:
69
+ st.session_state.changed_uploaded_files[key]["bytes_data"] = st.session_state[modified_text].encode()
70
+ elif value["type"] in ["wav", "mp3"]:
71
+ st.session_state.changed_uploaded_files[key]["audio_transcription"] = st.session_state[modified_text]
72
+
73
  #print(st.session_state.changed_uploaded_files[key])
74
 
75
  def save_attachment(attachment):
 
412
  "type": uploaded_file_type,
413
  "bytes_data": file.read()
414
  }
415
+ if uploaded_file_type in ["wav", "mp3"]:
416
+ audio = AudioSegment.from_wav(io.BytesIO(st.session_state.changed_uploaded_files[uploaded_file_hash]["bytes_data"]))
417
+ with tempfile.NamedTemporaryFile(suffix=f".{uploaded_file_type}", delete=False) as tmp_file:
418
+ audio.export(tmp_file, format=uploaded_file_type)
419
+ tmp_file.close()
420
+ st.session_state.changed_uploaded_files[uploaded_file_hash]["audio_transcription"] = transcribe_audio(
421
+ filepath=tmp_file.name
422
+ )
423
+ audio = AudioSegment.empty()
424
+
425
  changed_uploaded_files = {}
426
  for file_hash in st.session_state.changed_uploaded_files.keys():
427
  if file_hash in new_uploaded_files_hashes:
 
450
  format=f"audio/{value['type']}",
451
  autoplay=False
452
  )
453
+ if "audio_transcription" in value.keys():
454
+ with st.expander("View audio transcription"):
455
+ st.text_area( f"Edit text - {value['name']}",
456
+ value=file_content,
457
+ key=value["name"],
458
+ on_change=callback_change_edited_text,
459
+ args=(key, value, value["name"])
460
+ )
461
 
462
 
463
  # Interface utilisateur pour l'enregistrement audio