ImPolymath commited on
Commit
de7a637
·
1 Parent(s): 79422a1

add files upload feature

Browse files
Files changed (2) hide show
  1. pages/main.py +49 -27
  2. var_app.py +3 -4
pages/main.py CHANGED
@@ -364,44 +364,66 @@ def main_page():
364
  get_translation("entrez_message")
365
  )
366
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  # Interface utilisateur pour l'upload de fichiers
368
  st.session_state.uploaded_files = st.file_uploader(
369
  "Choose files to upload",
370
  accept_multiple_files=True,
371
  type=CHAT_FILES_UPLOAD_ALLOWED_TYPES,
372
- key="chat_files_upload"
 
373
  )
374
 
375
  # Dictionnaire pour stocker le contenu modifié des fichiers
376
  if 'edited_texts' not in st.session_state:
377
  st.session_state.edited_texts = {}
378
 
379
- if st.session_state.uploaded_files is not None:
380
- for uploaded_file in st.session_state.uploaded_files:
381
- with st.container(border=True):
382
- bytes_data = uploaded_file.read()
383
- file_name = uploaded_file.name
384
- filetype = os.path.splitext(uploaded_file.name)[1].lstrip('.')
385
- if filetype in ["txt"]:
386
- st.write("**filename:**", uploaded_file.name)
387
- st.write("**filetype:**", filetype)
388
- file_content = bytes_data.decode()
389
- with st.expander("View file content"):
390
- edited_text = st.text_area(f"Edit text - {file_name}", value=file_content, key=file_name)
391
- st.session_state.edited_texts[file_name] = edited_text
392
- #st.write(bytes_data.decode())
393
- #elif filetype in ["wav", "mp3"]:
394
- # audio = AudioSegment.from_file(io.BytesIO(bytes_data))
395
- # st.write(f"Frame rate: {audio.frame_rate}, Frame width: {audio.frame_width}, Duration: {audio.duration_seconds} seconds")
396
- # st.audio(bytes_data, format=f"audio/{filetype}", autoplay=False)
397
- if len(st.session_state.uploaded_files) > 0:
398
- if ("txt" in [ os.path.splitext(uploaded_file.name)[1].lstrip('.') for uploaded_file in st.session_state.uploaded_files ]):
399
- # Concaténer les textes modifiés pour le traitement
400
- if st.button("Submit All Texts"):
401
- concatenated_text = "\n".join(st.session_state.edited_texts.values())
402
- st.write("Processing concatenated text...")
403
- # Ajoutez ici le code pour traiter le texte concaténé
404
- st.write(concatenated_text)
405
 
406
 
407
  # Interface utilisateur pour l'enregistrement audio
 
364
  get_translation("entrez_message")
365
  )
366
 
367
+ def uploaded_files__on_change():
368
+ if st.session_state.uploaded_files is not None:
369
+ st.session_state.edited_texts = {}
370
+ st.session_state.audio_files = []
371
+ for uploaded_file in st.session_state.uploaded_files:
372
+ with st.container(border=True):
373
+ bytes_data = uploaded_file.read()
374
+ file_name = uploaded_file.name
375
+ filetype = os.path.splitext(uploaded_file.name)[1].lstrip('.')
376
+ if filetype in ["txt"]:
377
+ st.write("**filename:**", uploaded_file.name)
378
+ st.write("**filetype:**", filetype)
379
+ file_content = bytes_data.decode()
380
+ with st.expander("View file content"):
381
+ edited_text = st.text_area(f"Edit text - {file_name}", value=file_content, key=file_name)
382
+ st.session_state.edited_texts[file_name] = edited_text
383
+ elif filetype in ["wav", "mp3"]:
384
+ st.write(f"**Filename:** {file_name}")
385
+ audio = AudioSegment.from_file(io.BytesIO(bytes_data))
386
+ st.write(f"Frame rate: {audio.frame_rate}, Frame width: {audio.frame_width}, Duration: {audio.duration_seconds} seconds")
387
+ st.audio(bytes_data, format=f"audio/{filetype}", autoplay=False)
388
+ st.session_state.audio_files.append(audio)
389
+
390
+ if len(st.session_state.uploaded_files) > 0:
391
+ filetypes_uploaded_list = [ os.path.splitext(uploaded_file.name)[1].lstrip('.') for uploaded_file in st.session_state.uploaded_files ]
392
+ if st.button("Submit All"):
393
+ if ("txt" in filetypes_uploaded_list):
394
+ # Concaténer les textes modifiés pour le traitement
395
+ concatenated_text = "\n".join(st.session_state.edited_texts.values())
396
+ st.write("Processing concatenated text...")
397
+ # Ajoutez ici le code pour traiter le texte concaténé
398
+ st.write(concatenated_text)
399
+ if ( "wav" in filetypes_uploaded_list or "mp3" in filetypes_uploaded_list ):
400
+ # Concaténer les fichiers audio pour le traitement
401
+ concatenated_audio = sum(st.session_state.audio_files)
402
+ audio_buffer = io.BytesIO()
403
+ concatenated_audio.export(audio_buffer, format="wav")
404
+ st.write("Processing concatenated audio...")
405
+ st.audio(audio_buffer.getvalue(), format="audio/wav", autoplay=False)
406
+
407
+
408
  # Interface utilisateur pour l'upload de fichiers
409
  st.session_state.uploaded_files = st.file_uploader(
410
  "Choose files to upload",
411
  accept_multiple_files=True,
412
  type=CHAT_FILES_UPLOAD_ALLOWED_TYPES,
413
+ key="chat_files_upload",
414
+ on_change=uploaded_files__on_change
415
  )
416
 
417
  # Dictionnaire pour stocker le contenu modifié des fichiers
418
  if 'edited_texts' not in st.session_state:
419
  st.session_state.edited_texts = {}
420
 
421
+ # Liste pour stocker les fichiers audio
422
+ if 'audio_files' not in st.session_state:
423
+ st.session_state.audio_files = []
424
+
425
+
426
+
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
427
 
428
 
429
  # Interface utilisateur pour l'enregistrement audio
var_app.py CHANGED
@@ -1,12 +1,11 @@
1
- __version__ = "1.3.3"
2
 
3
  from core.files import read_file
4
 
5
  CHAT_FILES_UPLOAD_ALLOWED_TYPES = [
6
- "txt"
 
7
  ]
8
- #"wav", "mp3"
9
- #]
10
 
11
  # List of languages supported by the application
12
  SUPPORTED_LANGUAGES = [
 
1
+ __version__ = "1.3.4"
2
 
3
  from core.files import read_file
4
 
5
  CHAT_FILES_UPLOAD_ALLOWED_TYPES = [
6
+ "txt",
7
+ "wav", "mp3"
8
  ]
 
 
9
 
10
  # List of languages supported by the application
11
  SUPPORTED_LANGUAGES = [