| import hashlib | |
| from data.dataset_manager import load_hf_dataset | |
| from config.settings import * | |
| import gradio as gr | |
| def hash_password(password: str) -> str: | |
| return hashlib.sha256(password.encode()).hexdigest() | |
| def admin_login(input_password): | |
| if hash_password(input_password) == ADMIN_PASSWORD_HASH: | |
| ds = load_hf_dataset() | |
| df = ds.to_pandas() | |
| # For download: write temp CSV | |
| temp_csv = "annotations_export.csv" | |
| df.to_csv(temp_csv, index=False) | |
| return ( | |
| gr.update(visible=True), | |
| df, | |
| temp_csv, | |
| gr.update(value="Admin authentication successful.") | |
| ) | |
| else: | |
| return ( | |
| gr.update(visible=False), | |
| None, | |
| None, | |
| gr.update(value="Admin authentication failed.") | |
| ) |