Josedcape commited on
Commit
dca8dd5
verified
1 Parent(s): a3283b6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -17
app.py CHANGED
@@ -6,6 +6,7 @@ from google.cloud import texttospeech
6
  from dotenv import load_dotenv
7
  from docx import Document
8
  import base64
 
9
 
10
  # Configuraci贸n de la interfaz
11
  st.set_page_config(page_title="Boti Asistente", layout="wide")
@@ -92,6 +93,7 @@ def encuesta_asistente():
92
  st.session_state.respuestas = {}
93
  st.session_state.pregunta_actual = 0
94
  st.session_state.preguntas_adicionales = []
 
95
 
96
  if st.session_state.pregunta_actual < len(preguntas):
97
  pregunta_actual = preguntas[st.session_state.pregunta_actual]
@@ -107,22 +109,23 @@ def encuesta_asistente():
107
  respuesta = respuesta_otro
108
 
109
  if st.button("Enviar respuesta", key=f"btn_{st.session_state.pregunta_actual}"):
110
- st.session_state.respuestas[pregunta_actual['pregunta']] = respuesta
 
111
 
112
- # Obtener respuesta del asistente
113
- respuesta_asistente = obtener_respuesta(respuesta)
114
- st.session_state.respuesta_actual = respuesta_asistente
115
 
116
- # Verificar si el asistente hace una pregunta adicional
117
- if "pregunta" in respuesta_asistente.lower() and len(st.session_state.preguntas_adicionales) < 3:
118
- st.session_state.preguntas_adicionales.append(respuesta_asistente)
119
 
120
- # Convertir respuesta a audio
121
- audio_path = text_to_speech(respuesta_asistente)
122
- st.session_state.audio_path = audio_path
123
 
124
- st.session_state.pregunta_actual += 1
125
- st.experimental_rerun()
126
  else:
127
  st.write("Gracias por responder todas las preguntas. Haz clic en 'Registrar Encuesta' para finalizar y generar el archivo descargable.")
128
  if st.button("Registrar Encuesta"):
@@ -150,11 +153,13 @@ def encuesta_asistente():
150
  # Preguntas adicionales
151
  if st.session_state.preguntas_adicionales:
152
  st.markdown("<h3>Preguntas Adicionales:</h3>", unsafe_allow_html=True)
153
- for i, pregunta_adicional in enumerate(st.session_state.preguntas_adicionales):
154
- with st.expander(f"Pregunta adicional {i+1}"):
155
- st.write(f"**Pregunta:** {pregunta_adicional}")
156
- respuesta_adicional = st.text_input("Tu respuesta:", key=f"respuesta_adicional_{i}")
157
- if st.button("Enviar respuesta adicional", key=f"btn_adicional_{i}"):
 
 
158
  st.session_state.respuestas[pregunta_adicional] = respuesta_adicional
159
  respuesta_asistente = obtener_respuesta(respuesta_adicional)
160
  st.session_state.respuesta_actual = respuesta_asistente
@@ -162,6 +167,7 @@ def encuesta_asistente():
162
  audio_path = text_to_speech(respuesta_asistente)
163
  st.session_state.audio_path = audio_path
164
 
 
165
  st.experimental_rerun()
166
 
167
  if 'encuesta_completada' in st.session_state and st.session_state.encuesta_completada:
 
6
  from dotenv import load_dotenv
7
  from docx import Document
8
  import base64
9
+ import time
10
 
11
  # Configuraci贸n de la interfaz
12
  st.set_page_config(page_title="Boti Asistente", layout="wide")
 
93
  st.session_state.respuestas = {}
94
  st.session_state.pregunta_actual = 0
95
  st.session_state.preguntas_adicionales = []
96
+ st.session_state.pregunta_adicional_actual = 0
97
 
98
  if st.session_state.pregunta_actual < len(preguntas):
99
  pregunta_actual = preguntas[st.session_state.pregunta_actual]
 
109
  respuesta = respuesta_otro
110
 
111
  if st.button("Enviar respuesta", key=f"btn_{st.session_state.pregunta_actual}"):
112
+ with st.spinner('Procesando su respuesta, por favor espere...'):
113
+ st.session_state.respuestas[pregunta_actual['pregunta']] = respuesta
114
 
115
+ # Obtener respuesta del asistente
116
+ respuesta_asistente = obtener_respuesta(respuesta)
117
+ st.session_state.respuesta_actual = respuesta_asistente
118
 
119
+ # Verificar si el asistente hace una pregunta adicional
120
+ if "pregunta" in respuesta_asistente.lower() and len(st.session_state.preguntas_adicionales) < 3:
121
+ st.session_state.preguntas_adicionales.append(respuesta_asistente)
122
 
123
+ # Convertir respuesta a audio
124
+ audio_path = text_to_speech(respuesta_asistente)
125
+ st.session_state.audio_path = audio_path
126
 
127
+ st.session_state.pregunta_actual += 1
128
+ st.experimental_rerun()
129
  else:
130
  st.write("Gracias por responder todas las preguntas. Haz clic en 'Registrar Encuesta' para finalizar y generar el archivo descargable.")
131
  if st.button("Registrar Encuesta"):
 
153
  # Preguntas adicionales
154
  if st.session_state.preguntas_adicionales:
155
  st.markdown("<h3>Preguntas Adicionales:</h3>", unsafe_allow_html=True)
156
+ pregunta_adicional_actual = st.session_state.pregunta_adicional_actual
157
+ if pregunta_adicional_actual < len(st.session_state.preguntas_adicionales):
158
+ pregunta_adicional = st.session_state.preguntas_adicionales[pregunta_adicional_actual]
159
+ st.write(f"**Pregunta adicional {pregunta_adicional_actual + 1}:** {pregunta_adicional}")
160
+ respuesta_adicional = st.text_input("Tu respuesta:", key=f"respuesta_adicional_{pregunta_adicional_actual}")
161
+ if st.button("Enviar respuesta adicional", key=f"btn_adicional_{pregunta_adicional_actual}"):
162
+ with st.spinner('Procesando su respuesta, por favor espere...'):
163
  st.session_state.respuestas[pregunta_adicional] = respuesta_adicional
164
  respuesta_asistente = obtener_respuesta(respuesta_adicional)
165
  st.session_state.respuesta_actual = respuesta_asistente
 
167
  audio_path = text_to_speech(respuesta_asistente)
168
  st.session_state.audio_path = audio_path
169
 
170
+ st.session_state.pregunta_adicional_actual += 1
171
  st.experimental_rerun()
172
 
173
  if 'encuesta_completada' in st.session_state and st.session_state.encuesta_completada: