Spaces:
Sleeping
Sleeping
Download db_sync.py from devorah-ai-2016/BeeCareCore: direct link, hf CLI and curl.
- Browser
- Download file 3.04 kB
-
https://huggingface.co/spaces/devorah-ai-2016/BeeCareCore/resolve/main/db_sync.py
- Command line
-
hf download hf://spaces/devorah-ai-2016/BeeCareCore/db_sync.py
-
curl -L -o db_sync.py https://huggingface.co/spaces/devorah-ai-2016/BeeCareCore/resolve/main/db_sync.py
3.04 kB
| import os | |
| import shutil | |
| from huggingface_hub import hf_hub_download, HfApi | |
| REPO_ID = "devorah-ai-2016/BeeCareCore" | |
| SYNC_FILES = [ | |
| "data/clients.xlsx", | |
| "data/counseling_logs.xlsx", | |
| "data/case_management.xlsx", | |
| "data/needs_assessment.xlsx", | |
| "data/care_plan_alerts.xlsx" | |
| ] | |
| def get_hf_token(): | |
| # 1. Check environment variable (set on HF spaces) | |
| token = os.environ.get("HF_TOKEN") or os.environ.get("HUGGINGFACE_TOKEN") | |
| if token: | |
| return token.strip() | |
| # 2. Check local token files (for local testing) | |
| token_candidates = [ | |
| os.path.join(os.path.dirname(os.path.abspath(__file__)), "huggingfacetoken.txt"), | |
| os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "huggingfacetoken.txt"), | |
| os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "..", "huggingfacetoken.txt"), | |
| "/Users/devorah/connect/Beecarewebsite/huggingfacetoken.txt", | |
| os.path.expanduser("~/.cache/huggingface/token") | |
| ] | |
| for path in token_candidates: | |
| if os.path.exists(path): | |
| try: | |
| with open(path, "r") as f: | |
| t = f.read().strip() | |
| if t: | |
| return t | |
| except Exception: | |
| pass | |
| return None | |
| def download_all(): | |
| token = get_hf_token() | |
| if not token: | |
| print("HF_TOKEN not found, skipping download.") | |
| return False | |
| success = True | |
| for relative_path in SYNC_FILES: | |
| # Determine local path | |
| local_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), relative_path) | |
| os.makedirs(os.path.dirname(local_path), exist_ok=True) | |
| try: | |
| downloaded_path = hf_hub_download( | |
| repo_id=REPO_ID, | |
| filename=relative_path, | |
| repo_type="space", | |
| token=token | |
| ) | |
| shutil.copy(downloaded_path, local_path) | |
| print(f"Downloaded {relative_path} to {local_path}") | |
| except Exception as e: | |
| print(f"Failed to download {relative_path}: {e}") | |
| success = False | |
| return success | |
| def upload_all(): | |
| token = get_hf_token() | |
| if not token: | |
| print("HF_TOKEN not found, skipping upload.") | |
| return False | |
| success = True | |
| api = HfApi() | |
| for relative_path in SYNC_FILES: | |
| local_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), relative_path) | |
| if not os.path.exists(local_path): | |
| print(f"Local file {local_path} does not exist. Skipping upload.") | |
| continue | |
| try: | |
| api.upload_file( | |
| path_or_fileobj=local_path, | |
| path_in_repo=relative_path, | |
| repo_id=REPO_ID, | |
| repo_type="space", | |
| token=token | |
| ) | |
| print(f"Uploaded {relative_path} to {REPO_ID}") | |
| except Exception as e: | |
| print(f"Failed to upload {relative_path}: {e}") | |
| success = False | |
| return success | |