letxinet / modules /sources_tab.py
C2MV's picture
Initial upload for Build Small Hackathon
68fb5e2 verified
Raw
History Blame Contribute Delete
856 Bytes
import gradio as gr
import pandas as pd
from backend.providers.sources import SOURCE_GROUPS
def load_sources():
rows = []
for group_name, sources in SOURCE_GROUPS.items():
for src in sources:
rows.append({"Grupo": group_name, "Fuente": src})
df = pd.DataFrame(rows)
stats = f"**{len(SOURCE_GROUPS)} grupos** con **{len(set(r['Fuente'] for r in rows))} fuentes únicas**"
return df, stats
def create_sources_tab():
with gr.Tab("📡 Fuentes", id="sources"):
gr.Markdown("## Catálogo de Fuentes Académicas")
sources_df = gr.Dataframe(headers=["Grupo", "Fuente"], label="Fuentes por Grupo", wrap=True)
sources_md = gr.Markdown("")
load_btn = gr.Button("🔄 Cargar Fuentes", variant="primary", size="lg")
load_btn.click(fn=load_sources, outputs=[sources_df, sources_md])