def execute(self, code, callback = None): s = attempt_new_socket(self.port) try: connection = Connection(s) connection.write_message( 1, str(code)) (msgtype, payload) = connection.read_message() success = msgtype == 2 print "[%s] [%s]" % (msgtype, payload) if callback is not None: callback(success, payload) return success finally: s.close()
def handle(self): global last_request connection = Connection(self.request, verbose = verbose) try: while 1: (msgtype, msg) = connection.read_message() last_request = datetime.now() logging.debug( "[%i] [%s]" % (msgtype, msg)) if msgtype == 1: # execute code km = initialize_km() out, error = execute(km, msg) logging.debug( "[complete] [%s] [%s]" % (out, error)) if error is None: connection.write_message( 2, out ) else: connection.write_message( 3, error['error'] ) else: raise RuntimeError("unknown msgtype : %s" % str(msgtype)) except SocketDisconnected: logging.info("Client disconnected")