Пример #1
0
	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)
Пример #2
0
	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)