1.1 --- a/server.py Mon Jun 14 14:32:12 2010 +0200
1.2 +++ b/server.py Mon Jun 14 23:16:47 2010 +0200
1.3 @@ -3,6 +3,8 @@
1.4 import com
1.5 import worker
1.6 import optparse
1.7 +import pickle
1.8 +import hashlib
1.9 import subprocess
1.10 import SocketServer
1.11
1.12 @@ -14,17 +16,24 @@
1.13 """
1.14 """
1.15 def handle(self):
1.16 - data = self.request[0].strip()
1.17 + data = self.request[0]
1.18 socket = self.request[1]
1.19 print "%s wrote:" % self.client_address[0]
1.20 print data
1.21 + key_found = False
1.22 for key, value in com.commands.iteritems():
1.23 if key in data:
1.24 + key_found = True
1.25 args = data.partition(key)[2].split()
1.26 if args:
1.27 value[0](socket, self.client_address, self.worker, args)
1.28 else:
1.29 value[0](socket, self.client_address, self.worker)
1.30 + if not key_found:
1.31 + cell = pickle.loads(data)
1.32 + self.cells[cell[0]] = cell[1]
1.33 + #print hashlib.sha256(str(self.cells)).hexdigest()
1.34 +
1.35
1.36 class Server(SocketServer.UDPServer):
1.37 def __init__(self, host, port, handler, options, worker):
1.38 @@ -34,6 +43,7 @@
1.39 self.handler = handler
1.40 self.options = options
1.41 self.handler.worker = worker
1.42 + self.handler.cells = {}
1.43 def run(self):
1.44 self.serve_forever()
1.45