import paramiko import os import textwrap def deploy(): host = "192.168.130.171" user = "roni" pw = "BTSai123" try: client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect(host, username=user, password=pw) print("Uploading files via SFTP...") sftp = client.open_sftp() sftp.put("main.py", "/home/roni/LocalFoodAI/main.py") sftp.put("database.py", "/home/roni/LocalFoodAI/database.py") sftp.put("start_daemon.py", "/home/roni/LocalFoodAI/start_daemon.py") sftp.put("static/script.js", "/home/roni/LocalFoodAI/static/script.js") sftp.put("static/index.html", "/home/roni/LocalFoodAI/static/index.html") sftp.close() print("Upload complete.") cmd = """cd ~/LocalFoodAI systemctl --user restart localfood """ cmd = cmd.replace('\r\n', '\n') print(f"Running:\n{cmd}") stdin, stdout, stderr = client.exec_command(cmd) out = stdout.read().decode() err = stderr.read().decode() if out: print(f"OUT:\n{out}") if err: print(f"ERR:\n{err}") client.close() except Exception as e: print(f"Error: {e}") if __name__ == "__main__": deploy()