AIdeaText commited on
Commit
b66aab1
verified
1 Parent(s): 30bae7d

Update modules/ui.py

Browse files
Files changed (1) hide show
  1. modules/ui.py +52 -8
modules/ui.py CHANGED
@@ -2,6 +2,7 @@
2
  import streamlit as st
3
  import re
4
  import io
 
5
  import base64
6
  import matplotlib.pyplot as plt
7
  import pandas as pd
@@ -335,12 +336,19 @@ def display_student_progress(username, lang_code='es'):
335
  st.write(entry['arc_diagrams'][0], unsafe_allow_html=True)
336
 
337
  with st.expander("Hist贸rico de An谩lisis Sem谩nticos"):
338
- semantic_entries = [entry for entry in student_data['entries'] if entry['analysis_type'] == 'semantic']
339
- for entry in semantic_entries:
340
- st.subheader(f"An谩lisis del {entry['timestamp']}")
341
- st.write(f"Archivo analizado: {entry.get('filename', 'Nombre no disponible')}")
342
- if 'network_diagram' in entry:
343
- st.image(entry['network_diagram'])
 
 
 
 
 
 
 
344
 
345
  with st.expander("Hist贸rico de An谩lisis Discursivos"):
346
  discourse_entries = [entry for entry in student_data['entries'] if entry['analysis_type'] == 'discourse']
@@ -348,8 +356,44 @@ def display_student_progress(username, lang_code='es'):
348
  st.subheader(f"An谩lisis del {entry['timestamp']}")
349
  st.write(f"Archivo patr贸n: {entry.get('filename1', 'Nombre no disponible')}")
350
  st.write(f"Archivo comparado: {entry.get('filename2', 'Nombre no disponible')}")
351
- if 'combined_graph' in entry:
352
- st.image(entry['combined_graph'])
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
353
 
354
  with st.expander("Hist贸rico de Conversaciones con el ChatBot"):
355
  if 'chat_history' in student_data:
 
2
  import streamlit as st
3
  import re
4
  import io
5
+ from io import BytesIO
6
  import base64
7
  import matplotlib.pyplot as plt
8
  import pandas as pd
 
336
  st.write(entry['arc_diagrams'][0], unsafe_allow_html=True)
337
 
338
  with st.expander("Hist贸rico de An谩lisis Sem谩nticos"):
339
+ semantic_entries = [entry for entry in student_data['entries'] if entry['analysis_type'] == 'semantic']
340
+ for entry in semantic_entries:
341
+ st.subheader(f"An谩lisis del {entry['timestamp']}")
342
+ st.write(f"Archivo analizado: {entry.get('filename', 'Nombre no disponible')}")
343
+ if 'network_diagram' in entry:
344
+ try:
345
+ # Intentar decodificar la imagen si est谩 en formato base64
346
+ image_bytes = base64.b64decode(entry['network_diagram'])
347
+ st.image(image_bytes)
348
+ except Exception as e:
349
+ st.error(f"No se pudo mostrar la imagen: {str(e)}")
350
+ st.write("Datos de la imagen (para depuraci贸n):")
351
+ st.write(entry['network_diagram'][:100] + "...") #
352
 
353
  with st.expander("Hist贸rico de An谩lisis Discursivos"):
354
  discourse_entries = [entry for entry in student_data['entries'] if entry['analysis_type'] == 'discourse']
 
356
  st.subheader(f"An谩lisis del {entry['timestamp']}")
357
  st.write(f"Archivo patr贸n: {entry.get('filename1', 'Nombre no disponible')}")
358
  st.write(f"Archivo comparado: {entry.get('filename2', 'Nombre no disponible')}")
359
+
360
+ try:
361
+ # Intentar obtener y combinar las dos im谩genes
362
+ if 'graph1' in entry and 'graph2' in entry:
363
+ img1 = Image.open(BytesIO(base64.b64decode(entry['graph1'])))
364
+ img2 = Image.open(BytesIO(base64.b64decode(entry['graph2'])))
365
+
366
+ # Crear una nueva imagen combinada
367
+ total_width = img1.width + img2.width
368
+ max_height = max(img1.height, img2.height)
369
+ combined_img = Image.new('RGB', (total_width, max_height))
370
+
371
+ # Pegar las dos im谩genes lado a lado
372
+ combined_img.paste(img1, (0, 0))
373
+ combined_img.paste(img2, (img1.width, 0))
374
+
375
+ # Convertir la imagen combinada a bytes
376
+ buffered = BytesIO()
377
+ combined_img.save(buffered, format="PNG")
378
+ img_str = base64.b64encode(buffered.getvalue()).decode()
379
+
380
+ # Mostrar la imagen combinada
381
+ st.image(f"data:image/png;base64,{img_str}")
382
+ elif 'combined_graph' in entry:
383
+ # Si ya existe una imagen combinada, mostrarla directamente
384
+ img_bytes = base64.b64decode(entry['combined_graph'])
385
+ st.image(img_bytes)
386
+ else:
387
+ st.write("No se encontraron gr谩ficos para este an谩lisis.")
388
+ except Exception as e:
389
+ st.error(f"No se pudieron mostrar los gr谩ficos: {str(e)}")
390
+ st.write("Datos de los gr谩ficos (para depuraci贸n):")
391
+ if 'graph1' in entry:
392
+ st.write("Graph 1:", entry['graph1'][:100] + "...")
393
+ if 'graph2' in entry:
394
+ st.write("Graph 2:", entry['graph2'][:100] + "...")
395
+ if 'combined_graph' in entry:
396
+ st.write("Combined Graph:", entry['combined_graph'][:100] + "...")
397
 
398
  with st.expander("Hist贸rico de Conversaciones con el ChatBot"):
399
  if 'chat_history' in student_data: