Spaces:
Paused
Paused
| #!/usr/bin/env python3 | |
| """Redeploy fixed docs to HF Space josephrw/catacomb-oracle-v7.""" | |
| import os | |
| import shutil | |
| import subprocess | |
| import sys | |
| import tempfile | |
| SPACE = "josephrw/catacomb-oracle-v7" | |
| REPO_URL = f"https://huggingface.co/spaces/{SPACE}" | |
| SOURCE = "/Users/alep/Downloads/02_AI_Agents/collateral-launcher/hf-space" | |
| def run(cmd, cwd=None): | |
| print(f">>> {cmd}") | |
| r = subprocess.run(cmd, shell=True, cwd=cwd, capture_output=True, text=True) | |
| if r.stdout: | |
| print(r.stdout) | |
| if r.stderr: | |
| print(r.stderr, file=sys.stderr) | |
| if r.returncode != 0: | |
| print(f"EXIT {r.returncode}", file=sys.stderr) | |
| return r.returncode | |
| def main(): | |
| with tempfile.TemporaryDirectory() as tmp: | |
| repo = os.path.join(tmp, "repo") | |
| print(f"Cloning {REPO_URL} ...") | |
| if run(f"git clone {REPO_URL} {repo}") != 0: | |
| print("Clone failed.") | |
| return 1 | |
| # Copy updated files | |
| for item in os.listdir(SOURCE): | |
| if item.startswith(".") or item in ("venv", "__pycache__", "deploy.sh", "deploy_manual.py", "redeploy.py"): | |
| continue | |
| src = os.path.join(SOURCE, item) | |
| dst = os.path.join(repo, item) | |
| if os.path.isdir(src): | |
| if os.path.exists(dst): | |
| shutil.rmtree(dst) | |
| shutil.copytree(src, dst) | |
| else: | |
| shutil.copy2(src, dst) | |
| # Commit and push | |
| run("git add -A", cwd=repo) | |
| run('git commit -m "Fix swagger domain: replace placeholders with actual HF Space URL"', cwd=repo) | |
| ret = run("git push origin main", cwd=repo) | |
| if ret == 0: | |
| print(f"\nDeployed to https://huggingface.co/spaces/{SPACE}") | |
| else: | |
| print("\nPush failed. You may need to authenticate with Hugging Face.") | |
| print("Run: hf auth login") | |
| return ret | |
| if __name__ == "__main__": | |
| sys.exit(main()) | |