| 
									
										
										
										
											1996-11-27 19:52:01 +00:00
										 |  |  | #! /usr/bin/env python | 
					
						
							| 
									
										
										
										
											1995-04-10 11:46:03 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | # 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() |