Files
gitlab-instance-0a899031_cn…/scripts/ssh-patch-join-page.py
2026-06-08 06:05:31 -05:00

35 lines
1.0 KiB
Python

#!/usr/bin/env python3
"""Patch join page TS fix on production."""
import base64
import sys
import paramiko
from load_dev_env import ssh_config
HOST, USER, PASSWORD = ssh_config()
LOCAL = r"c:\Users\admin\Desktop\gitlab-instance-0a899031_cnomadcna\app\[locale]\join\page.tsx"
REMOTE = "/home/ubuntu/gitlab-instance-0a899031_cnomadcna/app/[locale]/join/page.tsx"
TMP = "/tmp/join-page.tsx"
content = open(LOCAL, encoding="utf-8").read()
b64 = base64.b64encode(content.encode("utf-8")).decode()
c = paramiko.SSHClient()
c.set_missing_host_key_policy(paramiko.AutoAddPolicy())
c.connect(HOST, username=USER, password=PASSWORD, timeout=30)
cmd = (
f"python3 -c \"import base64; open('{TMP}','wb').write(base64.b64decode('{b64}'))\" "
f"&& cp {TMP} {REMOTE} && chown ubuntu:ubuntu {REMOTE} && echo uploaded"
)
_, o, e = c.exec_command(f"echo '{PASSWORD}' | sudo -S bash -lc \"{cmd}\"", timeout=120)
out = o.read().decode()
err = e.read().decode()
code = o.channel.recv_exit_status()
sys.stdout.write(out)
sys.stdout.write(err)
c.close()
sys.exit(code)