AIdeaText commited on
Commit
2b737a6
·
verified ·
1 Parent(s): b595026

Update modules/discourse/discourse_interface.py

Browse files
modules/discourse/discourse_interface.py CHANGED
@@ -130,9 +130,7 @@ def display_discourse_interface(lang_code, nlp_models, discourse_t):
130
  #####################################################################################################################
131
 
132
  def display_discourse_results(result, lang_code, discourse_t):
133
- """
134
- Muestra los resultados del análisis del discurso
135
- """
136
  if not result.get('success'):
137
  st.warning(discourse_t.get('no_results', 'No hay resultados disponibles'))
138
  return
@@ -187,47 +185,20 @@ def display_discourse_results(result, lang_code, discourse_t):
187
  st.subheader(discourse_t.get('doc1_title', 'Documento 1'))
188
  st.markdown(discourse_t.get('key_concepts', 'Conceptos Clave'))
189
  if 'key_concepts1' in result:
190
- concepts_html = f"""
191
- <div class="concepts-container">
192
- {''.join([
193
- f'<div class="concept-item"><span class="concept-name">{concept}</span>'
194
- f'<span class="concept-freq">({freq:.2f})</span></div>'
195
- for concept, freq in result['key_concepts1']
196
- ])}
197
- </div>
198
- """
199
- st.markdown(concepts_html, unsafe_allow_html=True)
200
 
201
  if 'graph1' in result:
202
  st.markdown('<div class="graph-container">', unsafe_allow_html=True)
203
- st.pyplot(result['graph1'])
204
-
205
- # Botones y controles
206
- button_col1, spacer_col1 = st.columns([1,4])
207
- with button_col1:
208
- if 'graph1_bytes' in result:
209
- st.download_button(
210
- label="📥 " + discourse_t.get('download_graph', "Download"),
211
- data=result['graph1_bytes'],
212
- file_name="discourse_graph1.png",
213
- mime="image/png",
214
- use_container_width=True
215
- )
216
-
217
- # Interpretación como texto normal sin expander
218
- st.markdown("**📊 Interpretación del grafo:**")
219
- st.markdown("""
220
- - 🔀 Las flechas indican la dirección de la relación entre conceptos
221
- - 🎨 Los colores más intensos indican conceptos más centrales en el texto
222
- - ⭕ El tamaño de los nodos representa la frecuencia del concepto
223
- - ↔️ El grosor de las líneas indica la fuerza de la conexión
224
- """)
225
 
226
- st.markdown('</div>', unsafe_allow_html=True)
227
- else:
228
- st.warning(discourse_t.get('graph_not_available', 'Gráfico no disponible'))
229
- else:
230
- st.warning(discourse_t.get('concepts_not_available', 'Conceptos no disponibles'))
 
 
 
 
231
 
232
  # Documento 2
233
  with col2:
 
130
  #####################################################################################################################
131
 
132
  def display_discourse_results(result, lang_code, discourse_t):
133
+ """Muestra los resultados del análisis del discurso"""
 
 
134
  if not result.get('success'):
135
  st.warning(discourse_t.get('no_results', 'No hay resultados disponibles'))
136
  return
 
185
  st.subheader(discourse_t.get('doc1_title', 'Documento 1'))
186
  st.markdown(discourse_t.get('key_concepts', 'Conceptos Clave'))
187
  if 'key_concepts1' in result:
188
+ # [conceptos_html se mantiene igual]...
 
 
 
 
 
 
 
 
 
189
 
190
  if 'graph1' in result:
191
  st.markdown('<div class="graph-container">', unsafe_allow_html=True)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
192
 
193
+ # Verificar el tipo de graph1
194
+ if isinstance(result['graph1'], plt.Figure):
195
+ # Es una figura de matplotlib directamente
196
+ st.pyplot(result['graph1'])
197
+ elif isinstance(result['graph1'], bytes):
198
+ # Es bytes, mostrar como imagen
199
+ st.image(result['graph1'])
200
+ else:
201
+ st.warning("Formato de gráfico no reconocido")
202
 
203
  # Documento 2
204
  with col2: