Spaces:
Running
Running
Update modules/semantic/semantic_interface.py
Browse files
modules/semantic/semantic_interface.py
CHANGED
|
@@ -38,7 +38,7 @@ def display_semantic_interface(lang_code, nlp_models, semantic_t):
|
|
| 38 |
semantic_t: Diccionario de traducciones sem谩nticas
|
| 39 |
"""
|
| 40 |
try:
|
| 41 |
-
# Inicializar estados
|
| 42 |
if 'semantic_analysis_counter' not in st.session_state:
|
| 43 |
st.session_state.semantic_analysis_counter = 0
|
| 44 |
if 'semantic_current_file' not in st.session_state:
|
|
@@ -46,10 +46,11 @@ def display_semantic_interface(lang_code, nlp_models, semantic_t):
|
|
| 46 |
if 'semantic_page' not in st.session_state:
|
| 47 |
st.session_state.semantic_page = 'semantic'
|
| 48 |
|
| 49 |
-
# Contenedor fijo para los controles
|
| 50 |
with st.container():
|
| 51 |
st.markdown("### Controls")
|
| 52 |
-
|
|
|
|
| 53 |
uploaded_file = st.file_uploader(
|
| 54 |
semantic_t.get('file_uploader', 'Upload a text file for analysis'),
|
| 55 |
type=['txt'],
|
|
@@ -57,9 +58,10 @@ def display_semantic_interface(lang_code, nlp_models, semantic_t):
|
|
| 57 |
on_change=lambda: setattr(st.session_state, 'semantic_current_file', uploaded_file)
|
| 58 |
)
|
| 59 |
|
| 60 |
-
#
|
| 61 |
-
|
| 62 |
-
with
|
|
|
|
| 63 |
analyze_button = st.button(
|
| 64 |
semantic_t.get('analyze_button', 'Analyze text'),
|
| 65 |
key=f"semantic_analyze_button_{st.session_state.semantic_analysis_counter}",
|
|
@@ -67,21 +69,22 @@ def display_semantic_interface(lang_code, nlp_models, semantic_t):
|
|
| 67 |
use_container_width=True
|
| 68 |
)
|
| 69 |
|
| 70 |
-
# Bot贸n de exportaci贸n
|
| 71 |
if 'semantic_result' in st.session_state and st.session_state.semantic_result is not None:
|
|
|
|
| 72 |
export_button = st.button(
|
| 73 |
semantic_t.get('export_button', 'Export Analysis'),
|
| 74 |
key=f"semantic_export_{st.session_state.semantic_analysis_counter}",
|
| 75 |
use_container_width=True
|
| 76 |
)
|
| 77 |
if export_button:
|
| 78 |
-
pdf_buffer = export_user_interactions(st.session_state.username, 'semantic')
|
| 79 |
st.download_button(
|
| 80 |
label=semantic_t.get('download_pdf', 'Download PDF'),
|
| 81 |
-
data=
|
| 82 |
file_name="semantic_analysis.pdf",
|
| 83 |
mime="application/pdf",
|
| 84 |
-
key=f"semantic_download_{st.session_state.semantic_analysis_counter}"
|
|
|
|
| 85 |
)
|
| 86 |
|
| 87 |
st.markdown("---") # Separador
|
|
|
|
| 38 |
semantic_t: Diccionario de traducciones sem谩nticas
|
| 39 |
"""
|
| 40 |
try:
|
| 41 |
+
# Inicializar estados
|
| 42 |
if 'semantic_analysis_counter' not in st.session_state:
|
| 43 |
st.session_state.semantic_analysis_counter = 0
|
| 44 |
if 'semantic_current_file' not in st.session_state:
|
|
|
|
| 46 |
if 'semantic_page' not in st.session_state:
|
| 47 |
st.session_state.semantic_page = 'semantic'
|
| 48 |
|
| 49 |
+
# Contenedor fijo para todos los controles
|
| 50 |
with st.container():
|
| 51 |
st.markdown("### Controls")
|
| 52 |
+
|
| 53 |
+
# File uploader
|
| 54 |
uploaded_file = st.file_uploader(
|
| 55 |
semantic_t.get('file_uploader', 'Upload a text file for analysis'),
|
| 56 |
type=['txt'],
|
|
|
|
| 58 |
on_change=lambda: setattr(st.session_state, 'semantic_current_file', uploaded_file)
|
| 59 |
)
|
| 60 |
|
| 61 |
+
# Contenedor para botones alineados a la izquierda
|
| 62 |
+
left_col, mid_col, right_col = st.columns([1,4,1])
|
| 63 |
+
with left_col:
|
| 64 |
+
# Bot贸n de an谩lisis
|
| 65 |
analyze_button = st.button(
|
| 66 |
semantic_t.get('analyze_button', 'Analyze text'),
|
| 67 |
key=f"semantic_analyze_button_{st.session_state.semantic_analysis_counter}",
|
|
|
|
| 69 |
use_container_width=True
|
| 70 |
)
|
| 71 |
|
| 72 |
+
# Bot贸n de exportaci贸n (si hay resultados)
|
| 73 |
if 'semantic_result' in st.session_state and st.session_state.semantic_result is not None:
|
| 74 |
+
st.markdown("") # Espaciador
|
| 75 |
export_button = st.button(
|
| 76 |
semantic_t.get('export_button', 'Export Analysis'),
|
| 77 |
key=f"semantic_export_{st.session_state.semantic_analysis_counter}",
|
| 78 |
use_container_width=True
|
| 79 |
)
|
| 80 |
if export_button:
|
|
|
|
| 81 |
st.download_button(
|
| 82 |
label=semantic_t.get('download_pdf', 'Download PDF'),
|
| 83 |
+
data=export_user_interactions(st.session_state.username, 'semantic'),
|
| 84 |
file_name="semantic_analysis.pdf",
|
| 85 |
mime="application/pdf",
|
| 86 |
+
key=f"semantic_download_{st.session_state.semantic_analysis_counter}",
|
| 87 |
+
use_container_width=True
|
| 88 |
)
|
| 89 |
|
| 90 |
st.markdown("---") # Separador
|