|
2655
|
1 #! /usr/local/bin/python
|
|
|
2
|
|
|
3 # Remote python client.
|
|
|
4 # Execute Python commands remotely and send output back.
|
|
|
5
|
|
|
6 import sys
|
|
|
7 import string
|
|
|
8 from socket import *
|
|
|
9
|
|
|
10 PORT = 4127
|
|
|
11 BUFSIZE = 1024
|
|
|
12
|
|
|
13 def main():
|
|
|
14 if len(sys.argv) < 3:
|
|
|
15 print "usage: rpython host command"
|
|
|
16 sys.exit(2)
|
|
|
17 host = sys.argv[1]
|
|
|
18 port = PORT
|
|
|
19 i = string.find(host, ':')
|
|
|
20 if i >= 0:
|
|
|
21 port = string.atoi(port[i+1:])
|
|
|
22 host = host[:i]
|
|
|
23 command = string.join(sys.argv[2:])
|
|
|
24 s = socket(AF_INET, SOCK_STREAM)
|
|
|
25 s.connect((host, port))
|
|
|
26 s.send(command)
|
|
|
27 s.shutdown(1)
|
|
|
28 reply = ''
|
|
|
29 while 1:
|
|
|
30 data = s.recv(BUFSIZE)
|
|
|
31 if not data: break
|
|
|
32 reply = reply + data
|
|
|
33 print reply,
|
|
|
34
|
|
|
35 main()
|