Spaces:
				
			
			
	
			
			
		Paused
		
	
	
	
			
			
	
	
	
	
		
		
		Paused
		
	Commit 
							
							·
						
						de7a637
	
1
								Parent(s):
							
							79422a1
								
add files upload feature
Browse files- pages/main.py +49 -27
- 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 | 
            -
                         | 
| 380 | 
            -
             | 
| 381 | 
            -
             | 
| 382 | 
            -
             | 
| 383 | 
            -
             | 
| 384 | 
            -
             | 
| 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. | 
| 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 = [
         |