Spaces:
Running
Running
| import sys | |
| import os | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| # Add project root to sys.path | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| # Load env explicitly | |
| load_dotenv(override=True) | |
| from app import SyncManager | |
| DATA_DIR = Path("hf_project_showcase_data") | |
| HF_TOKEN = os.getenv("HF_TOKEN") | |
| HF_DB_REPO = os.getenv("HF_DB_REPO", "duqing2026/project-show-data") | |
| if __name__ == "__main__": | |
| print("Starting manual sync...") | |
| if not HF_TOKEN: | |
| print("Error: HF_TOKEN not found.") | |
| sys.exit(1) | |
| manager = SyncManager(HF_DB_REPO, HF_TOKEN, DATA_DIR) | |
| # 1. Pull first (to merge or avoid conflict, though here we prioritize local push for the image) | |
| # Actually, if we want to fix the QR code, we should just push the file. | |
| # But to be safe, let's just push. | |
| print(f"Token: {HF_TOKEN[:4]}...") | |
| try: | |
| # Pull first to ensure we have latest visits (though app.py logic now prevents local push of visits) | |
| # manager.pull() | |
| # Push all (app.py will exclude visits.jsonl if local) | |
| manager.push() | |
| print("Sync completed successfully.") | |
| except Exception as e: | |
| print(f"Sync failed: {e}") | |