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