sawine@0: #!/usr/bin/python sawine@0: sawine@0: import com sawine@0: import optparse sawine@0: import SocketServer sawine@0: sawine@0: option_list = [ sawine@0: optparse.make_option("-q", "--quiet", action="store_true", dest="quiet", sawine@0: help="quiet mode", default=False)] sawine@0: sawine@0: class Handler(SocketServer.BaseRequestHandler): sawine@0: """ sawine@0: """ sawine@0: def handle(self): sawine@0: data = self.request[0].strip() sawine@0: socket = self.request[1] sawine@0: print "%s wrote:" % self.client_address[0] sawine@0: print data sawine@0: for key, value in com.commands.iteritems(): sawine@0: if key in data: sawine@0: args = data.partition(key)[2].split() sawine@0: if args: sawine@0: value[0](socket, self.client_address, args) sawine@0: else: sawine@0: value[0](socket, self.client_address) sawine@0: sawine@0: class Server(SocketServer.UDPServer): sawine@0: def __init__(self, host, port, handler, options): sawine@0: SocketServer.UDPServer.__init__(self, (host, port), handler) sawine@0: self.host = host sawine@0: self.port = port sawine@0: self.handler = handler sawine@0: self.options = options sawine@0: def run(self): sawine@0: self.serve_forever() sawine@0: sawine@0: if __name__ == "__main__": sawine@0: parser = optparse.OptionParser(usage="usage: %prog [options] port", sawine@0: option_list=option_list) sawine@0: options, args = parser.parse_args() sawine@0: sawine@0: if len(args) > 0: sawine@0: port = int(args[0]) sawine@0: server = Server("localhost", port, Handler, options) sawine@0: server.run()