#!/usr/bin/env python3 from __future__ import annotations import sys from pathlib import Path ROOT = Path(r"c:\laragon\www\light-otantik-nux") sys.path.insert(0, str(ROOT / "scripts")) from deploy_remote import connect, sudo # noqa: E402 FILES = [ (ROOT / "deploy/nux-custom/ui/ui/admin/footer.tpl", "/var/www/phpnuxbill/ui/ui/admin/footer.tpl"), (ROOT / "deploy/nux-custom/ui/ui/admin/header.server.tpl", "/var/www/phpnuxbill/ui/ui/admin/header.tpl"), (ROOT / "deploy/nux-custom/ui/ui/admin/dashboard.server.tpl", "/var/www/phpnuxbill/ui/ui/admin/dashboard.tpl"), (ROOT / "deploy/nux-custom/system/controllers/community.php", "/var/www/phpnuxbill/system/controllers/community.php"), ] def main() -> int: client = connect() sftp = client.open_sftp() for i, (local, remote) in enumerate(FILES): data = local.read_bytes().replace(b"\r\n", b"\n") tmp = f"/tmp/brand_{i}_{Path(remote).name}" with sftp.file(tmp, "wb") as f: f.write(data) print("uploaded", local.name, len(data), flush=True) sftp.close() copies = " && ".join( f"install -m 644 /tmp/brand_{i}_{Path(remote).name} {remote}" for i, (_, remote) in enumerate(FILES) ) cmd = ( copies + " && chown www-data:www-data /var/www/phpnuxbill/ui/ui/admin/footer.tpl" + " /var/www/phpnuxbill/ui/ui/admin/header.tpl" + " /var/www/phpnuxbill/ui/ui/admin/dashboard.tpl" + " /var/www/phpnuxbill/system/controllers/community.php" + " && find /var/www/phpnuxbill/ui/compiled -type f -delete" + " && echo FOOTER:" + " && sed -n '3,8p' /var/www/phpnuxbill/ui/ui/admin/footer.tpl" ) code, out = sudo(client, cmd, timeout=40) print(out) print("CODE", code) client.close() return code if __name__ == "__main__": raise SystemExit(main())