import http.server import socketserver import subprocess import sys import pexpect from urllib.parse import urlparse, parse_qs import base64 class MyHttpRequestHandler(http.server.SimpleHTTPRequestHandler): def do_GET(self): parsed_path = urlparse(self.path) query = parse_qs(parsed_path.query) print(query) if 'command' in query and 'args' in query: self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() self.wfile.write(bytes(f"command: {query['command']}, args: {query['args']}", "utf-8")) else: self.send_response(400) self.send_header('Content-type', 'text/html') self.end_headers() self.wfile.write(bytes("Bad request", "utf-8")) PORT = 2281 Handler = MyHttpRequestHandler def compile_and_deploy_contract(): password = 'one' # User user_compile_command = "neo-go contract compile -i ../User/user.go -c User/user.yml -m User/user.json" subprocess.run(user_compile_command, shell=True, check=False) user_deploy_command = "neo-go contract deploy -i ../User/user.nef -w /home/ftmi-krasotka/Desktop/frostfs_test/frostfs-aio/morph/node-wallet.json -r http://localhost:30333 -m User/user.json --force" proc = subprocess.Popen(user_deploy_command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE) user_out_list = [] while True: line = proc.stdout.readline() if not line: break user_out_list.append(line.rstrip()) user_hash = str(user_out_list[-1]).replace("Contract: ", "") print(user_hash) # Post post_compile_command = "neo-go contract compile -i ../Post/post_contract.go -c Post/post_contract.yml -m Post/post_contract.json" subprocess.run(post_compile_command, shell=True, check=False) post_deploy_command = "neo-go contract deploy -i ../Post/post_contract.nef -w /home/ftmi-krasotka/Desktop/frostfs_test/frostfs-aio/morph/node-wallet.json -r http://localhost:30333 -m Post/post_contract.json --force" proc = subprocess.Popen(post_deploy_command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE) post_out_list = [] while True: line = proc.stdout.readline() if not line: break post_out_list.append(line.rstrip()) post_hash = str(post_out_list[-1]).replace("Contract: ", "") print(post_hash) # Comment comment_compile_command = "neo-go contract compile -i ../Comment/comment.go -c Comment/comment.yml -m Comment/comment.json" subprocess.run(comment_compile_command, shell=True, check=False) comment_deploy_command = "neo-go contract deploy -i ../Comment/comment.nef -w /home/ftmi-krasotka/Desktop/frostfs_test/frostfs-aio/morph/node-wallet.json -r http://localhost:30333 -m Comment/comment.json --force" proc = subprocess.Popen(comment_deploy_command, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE) comment_out_list = [] while True: line = proc.stdout.readline() if not line: break comment_out_list.append(line.rstrip()) comment_hash = str(comment_out_list[-1]).replace("Contract: ", "") print(comment_hash) if __name__ == "__main__": compile_and_deploy_contract() # with socketserver.TCPServer(("", PORT), Handler) as httpd: # print("Сервер запущен на порту", PORT) # httpd.serve_forever() # httpd.server_close()