import os
import subprocess
import json

SESSION_FILE = r"c:\Projects\Historical\runpod_session.json"
SSH_KEY = os.path.expanduser(r"~/.ssh/id_ed25519")

with open(SESSION_FILE, "r") as f:
    session = json.load(f)

HOST = session["host"]
PORT = str(session["port"])

scp_cmd = [
    "scp", "-o", "StrictHostKeyChecking=no", "-P", PORT, "-i", SSH_KEY,
    r"c:\Projects\Historical\build_engine.py", f"root@{HOST}:/workspace/build_engine.py"
]
subprocess.run(scp_cmd, check=True)
print("Uploaded build_engine.py successfully.")

ssh_cmd = [
    "ssh", "-o", "StrictHostKeyChecking=no", "-i", SSH_KEY, "-p", PORT, f"root@{HOST}",
    "python3 /workspace/build_engine.py"
]
p = subprocess.Popen(ssh_cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True)
for line in p.stdout:
    print(line, end="")
p.wait()
print(f"Exit code: {p.returncode}")
