Spaces:
Sleeping
Sleeping
| """ | |
| FocusTrack - Startup script for Hugging Face Spaces. | |
| Auto-seeds demo data if the database is empty, then launches the dashboard. | |
| """ | |
| import sys | |
| import subprocess | |
| from pathlib import Path | |
| ROOT = Path(__file__).parent | |
| sys.path.insert(0, str(ROOT)) | |
| # Ensure data/logs dirs exist | |
| (ROOT / "data").mkdir(exist_ok=True) | |
| (ROOT / "logs").mkdir(exist_ok=True) | |
| # Auto-seed demo data if DB is empty or new | |
| from database import Database | |
| db = Database() | |
| db.initialize() | |
| count = db.get_activity_count( | |
| __import__('datetime').datetime(2000, 1, 1), | |
| __import__('datetime').datetime(2099, 1, 1), | |
| ) | |
| if count == 0: | |
| print("π± No data found β seeding demo data...") | |
| import seed_demo | |
| seed_demo.seed(days=14) | |
| print("β Demo data ready!") | |
| else: | |
| print(f"β Database has {count:,} records, skipping seed.") | |
| # Launch Streamlit | |
| print("π Starting FocusTrack dashboard...") | |
| subprocess.run([ | |
| sys.executable, "-m", "streamlit", "run", str(ROOT / "app.py"), | |
| "--server.port", "7860", | |
| "--server.address", "0.0.0.0", | |
| "--server.headless", "true", | |
| "--browser.gatherUsageStats", "false", | |
| ]) | |