def evospace(request): if request.method == 'POST': population = Population(popName) print 'Raw Data___: "%s"' % request.body print type(request.body) json_data = json.loads(request.body) method = json_data["method"] params = json_data["params"] id = json_data["id"] if method == "initialize": result = population.initialize() data = json.dumps({"result" : result,"error": None, "id": id}) print data return HttpResponse(data, mimetype='application/javascript') elif method == "getSample": result = population.get_sample(params[0]) if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "putSample": data = population.put_sample(params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/json') elif method == "init_pop": data = init_pop(populationSize=params[0],evospace_URL= 'http://app.evospace.org/EvoSpace') return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "evolve": data = evolve(sample_size=params[0],evospace_URL= 'http://app.evospace.org/EvoSpace') return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "respawn": data = population.respawn(n=params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "put_individual": print "params",params[0] population.put_individual(**params[0]) data = json.dumps({"result" : None,"error": None, "id": id}) return HttpResponse(data, mimetype='application/json') else: return HttpResponse("ajax & post please", mimetype='text')
def get_sample(sample_size, popName= "pop" ): server = Population(popName) sample = server.get_sample(sample_size) return sample
def get_sample(sample_size, evospace_URL = 'http://localhost:8088/EvoSpace'): server = Population("pop") sample = server.get_sample(sample_size) return sample
def evospace(request): if request.method == 'POST': population = Population(popName) #print 'Raw Data___: "%s"' % request.body #print type(request.body) json_data = json.loads(request.body) method = json_data["method"] params = json_data["params"] id = json_data["id"] if method == "initialize": result = population.initialize() data = json.dumps({"result" : result,"error": None, "id": id}) print data return HttpResponse(data, mimetype='application/javascript') elif method == "getSample": #Auto ReInsert if population.read_sample_queue_len() >= REINSERT_THRESHOLD: population.respawn(5) result = population.get_sample(params[0]) if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "read_pop_keys": result = population.read_pop_keys() if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "read_sample_queue": result = population.read_sample_queue() if result: data = json.dumps({"result" : result,"error": None, "id": id}) else: data = json.dumps({"result" : None,"error": {"code": -32601, "message": "EvoSpace empty"}, "id": id}) return HttpResponse(data, mimetype='application/json') elif method == "putSample": #Cada EVOLUTION_INTERVAL evoluciona if not population.get_returned_counter() % EVOLUTION_INTERVAL: evolve_Tournament() population.put_sample(params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/json') elif method == "init_pop": data = init_pop(populationSize=params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "respawn": data = population.respawn(n=params[0]) return HttpResponse(json.dumps("Success"), mimetype='application/javascript') elif method == "put_individual": print "params",params[0] population.put_individual(**params[0]) data = json.dumps({"result" : None,"error": None, "id": id}) return HttpResponse(data, mimetype='application/json') else: return HttpResponse("ajax & post please", mimetype='text')