import mwclient
import json

def obtener_glosario_y_contenido():
    # Conexión al sitio de MediaWiki
    site = mwclient.Site('wiki.bcgs.solutions', path='/wikibcgs/')

    # Obtener todas las páginas de la wiki
    all_pages = site.allpages()

    # Crear una lista para guardar las entradas del glosario
    glosario = []

    for page in all_pages:
        title = page.name
        
        # Obtener el contenido de la página
        try:
            content = site.pages[title].text()
        except Exception as e:
            content = f"Error al obtener contenido: {e}"

        # Añadir el título y su contenido al glosario
        glosario.append({
            "Instruction": title,
            "Input": "",
            "Response": content
        })

    # Convertir el glosario a JSON
    glosario_json = json.dumps(glosario, indent=4, ensure_ascii=False)
    return glosario_json

# Ejemplo de uso
if __name__ == "__main__":
    glosario_completo = obtener_glosario_y_contenido()
    # Guardar el resultado en un archivo JSON
    with open("glosario_datasetado.json", "w", encoding="utf-8") as f:
        f.write(glosario_completo)
    print("Glosario con contenido guardado en 'glosario_completo.json'")
