project-incubator / scripts /sync_data.py
duqing2026's picture
Force push code via HfApi (Git fallback)
8553b38 verified
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}")