def handle(self): data = self.request.recv(1024) try: [strategy,source,sink,options] = data.split(":") print "\texecuting query: %s, %s, %s, %s" % (strategy, source, sink, options) try: exec("from TrustStrategies.%sTPF import %sTPF" % (strategy, strategy)) exec("tpf = %sTPF(self.people)" % (strategy)) except (ImportError), i: from TrustStrategies.DefaultTPF import DefaultTPF tpf = DefaultTPF(self.people) print "%s" % (i) lockwait = time.time() self.server.lock.acquire_read() lockwait = "%.6f" % (time.time() - lockwait) searchtime = time.time() r = tpf.query(source, sink, options) searchtime = "%.6f" % (time.time() - searchtime) self.server.lock.release_read() # build the xml response f = xmlgen.Factory() result = f.queryresult(r, executed="1", strategy=strategy, search_time=searchtime, lock_time=lockwait) r = str(result) # check to see if we need to make this smarter/bigger self.request.send("%s" % r)
def handle(self): log = Logger().get_instance(self) f = xmlgen.Factory() data = self.request.recv(1024) try: [strategy,options] = data.split(":") log.info("Executing query: %s, %s" % (strategy, options)) try: exec("import TrustStrategies.%s " % (strategy)) exec("debug_module = (TrustStrategies.%s.%s.debug)" % (strategy, strategy)) if debug_module: exec("reload(TrustStrategies.%s) " % (strategy)) exec("tpf = TrustStrategies.%s.%s(self.server)" % (strategy, strategy)) except (ImportError), i: from TrustStrategies.DefaultTPF import DefaultTPF tpf = DefaultTPF(self.server) log.warn("Caught ImportError: %s\nUsing DefaultTPF strategy." % (i)) searchtime = time.time() r = tpf.query(options) searchtime = "%.6f" % (time.time() - searchtime) # build the xml response result = f.queryresult(r, executed="1", strategy=strategy, search_time=searchtime)