Spaces:
Sleeping
Sleeping
| import os | |
| import sys | |
| import asyncio | |
| from sqlalchemy.orm import Session | |
| from dotenv import load_dotenv | |
| # Ensure local app path is visible | |
| sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
| from app.database import SessionLocal | |
| from app.cron import sync_to_hf, initialize_hf_dataset_repo, hf_source_cache | |
| from app.config import settings | |
| from datasets import load_dataset | |
| load_dotenv() | |
| async def main(): | |
| print("Initializing Hugging Face source cache in cron...") | |
| # Load dataset to populate cache | |
| ds_cache = load_dataset("F1nnSBK/lunar-pits-dataset", token=settings.HF_TOKEN) | |
| import app.cron as cron | |
| cron.hf_source_cache = ds_cache | |
| print("Calling initialize_hf_dataset_repo to ensure repo exists and is clean...") | |
| initialize_hf_dataset_repo() | |
| print("Starting sync cycle...") | |
| db = SessionLocal() | |
| try: | |
| res = await sync_to_hf(db, settings.HF_TOKEN, "F1nnSBK/lunar-debris-and-voids") | |
| print("Sync results:") | |
| print(f"Synced Images: {res.synced_images}") | |
| print(f"Synced Annotations: {res.synced_annotations}") | |
| print(f"Errors: {res.errors}") | |
| except Exception as e: | |
| print(f"Sync failed: {e}") | |
| db.rollback() | |
| finally: | |
| db.close() | |
| if __name__ == "__main__": | |
| asyncio.run(main()) | |