import streamlit as st import sqlite3 from io import StringIO # Constants DB_PATH = "db/database.db" # Fetch all datasets from SQLite def get_datasets(): conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() cursor.execute("SELECT id, name FROM datasets") datasets = cursor.fetchall() conn.close() return datasets # Load dataset content by ID def load_dataset_content(dataset_id): conn = sqlite3.connect(DB_PATH) cursor = conn.cursor() cursor.execute("SELECT content FROM datasets WHERE id = ?", (dataset_id,)) content = cursor.fetchone() conn.close() if content: return content[0] return None # Streamlit app for downloading files st.title("Download Datasets from Database") st.write("Below is the list of all datasets available in the database. Select and download any file.") datasets = get_datasets() if datasets: for dataset_id, dataset_name in datasets: st.write(f"**Dataset ID**: {dataset_id} | **Name**: {dataset_name}") dataset_content = load_dataset_content(dataset_id) if dataset_content: st.download_button( label=f"Download {dataset_name}", data=dataset_content, file_name=dataset_name, mime="text/csv" ) else: st.write("No datasets available in the database.")