From 7fafbc95c0c963438197c9a43fe893c4ea6fe759 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 30 Dec 2010 21:33:07 +0000 Subject: More cleanup: Move some demos into a dedicated Tools/demo dir, move 2to3 demo to Tools, and remove all the other Demo content. --- Tools/demo/rpython.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 Tools/demo/rpython.py (limited to 'Tools/demo/rpython.py') diff --git a/Tools/demo/rpython.py b/Tools/demo/rpython.py new file mode 100755 index 0000000000..e9657203df --- /dev/null +++ b/Tools/demo/rpython.py @@ -0,0 +1,36 @@ +#! /usr/bin/env python3 + +# Remote python client. +# Execute Python commands remotely and send output back. + +import sys +from socket import socket, AF_INET, SOCK_STREAM, SHUT_WR + +PORT = 4127 +BUFSIZE = 1024 + +def main(): + if len(sys.argv) < 3: + print("usage: rpython host command") + sys.exit(2) + host = sys.argv[1] + port = PORT + i = host.find(':') + if i >= 0: + port = int(port[i+1:]) + host = host[:i] + command = ' '.join(sys.argv[2:]) + s = socket(AF_INET, SOCK_STREAM) + s.connect((host, port)) + s.send(command.encode()) + s.shutdown(SHUT_WR) + reply = b'' + while True: + data = s.recv(BUFSIZE) + if not data: + break + reply += data + print(reply.decode(), end=' ') + s.close() + +main() -- cgit v1.2.1