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