server.py
author Eugen Sawin <sawine@me73.com>
Mon, 18 Jul 2011 00:51:04 +0200
changeset 11 a131769728f1
parent 1 2e65c867022c
permissions -rwxr-xr-x
Added header.
     1 #!/usr/bin/python
     2 
     3 import com
     4 #import grid
     5 import optparse
     6 import SocketServer
     7 
     8 option_list = [
     9 	optparse.make_option("-q", "--quiet", action="store_true", dest="quiet", 
    10 		help="quiet mode", default=False)]
    11 	
    12 class Handler(SocketServer.BaseRequestHandler):
    13 	"""
    14 	"""	
    15 	def handle(self):
    16 		data = self.request[0].strip()
    17 		socket = self.request[1]
    18 		print "%s wrote:" % self.client_address[0]
    19 		print data
    20 		for key, value in com.commands.iteritems():
    21 			if key in data:
    22 				args = data.partition(key)[2].split()
    23 				if args:
    24 					value[0](socket, self.client_address, args)
    25 				else:
    26 					value[0](socket, self.client_address)
    27 		
    28 class Server(SocketServer.UDPServer):
    29 	def __init__(self, host, port, handler, options):
    30 		SocketServer.UDPServer.__init__(self, (host, port), handler)
    31 		self.host = host
    32 		self.port = port
    33 		self.handler = handler
    34 		self.options = options
    35 	def run(self):
    36 		self.serve_forever()
    37 	
    38 if __name__ == "__main__":
    39 	parser = optparse.OptionParser(usage="usage: %prog [options] port",
    40 		option_list=option_list)
    41 	options, args = parser.parse_args()
    42 	
    43 	if len(args) > 0:
    44 		port = int(args[0])
    45 		server = Server("localhost", port, Handler, options)
    46 		server.run()