36 lines
633 B
Python
Executable File
36 lines
633 B
Python
Executable File
#! /usr/bin/env python
|
|
|
|
# Remote python client.
|
|
# Execute Python commands remotely and send output back.
|
|
|
|
import sys
|
|
import string
|
|
from socket import *
|
|
|
|
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 = string.find(host, ':')
|
|
if i >= 0:
|
|
port = string.atoi(port[i+1:])
|
|
host = host[:i]
|
|
command = string.join(sys.argv[2:])
|
|
s = socket(AF_INET, SOCK_STREAM)
|
|
s.connect((host, port))
|
|
s.send(command)
|
|
s.shutdown(1)
|
|
reply = ''
|
|
while 1:
|
|
data = s.recv(BUFSIZE)
|
|
if not data: break
|
|
reply = reply + data
|
|
print reply,
|
|
|
|
main()
|