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 print "##################" if not population.get_returned_counter() % EVOLUTION_INTERVAL: try: print "Evolucionando" evolve_Tournament() except Exception as e: exc_type, exc_value, exc_traceback = sys.exc_info() print e.message traceback.print_tb(exc_traceback, limit=20, file=sys.stdout) pass population.put_sample(params[0]) #Aqui se va armar la machaca del individuo if request.user.is_authenticated(): usr = request.user.username first_name = request.user.first_name last_name = request.user.last_name name = first_name + " " + last_name nodo = Nodo() person = Person() person_result = person.get_person(name) activity_stream = Activity_stream() #print u print "=========Parametros===========" print params[0] if params[0]["individuals_with_like"]: for item in params[0]["individuals_with_like"]: id = item print id individual_node = Graph_Individual() print "prueba ", params[0]["individuals_with_like"] # Verificar si el nodo individual existe con status last individual_node_exist = individual_node.get_node(id) if person_result: nodo1 = node(person_result[0][0]) if individual_node_exist: # si la lista esta vacia quiere decir que no existe nodo2 = node(individual_node_exist[0][0]) relation = Relations() relation.likes(nodo1, nodo2) #request.user.username in k #Agreagando Activity stream para el verbo like activity_stream.activity("person", "like", "evaluate", usr) #Curret experience calculation current_experience(request) print "=========Parametros===========" else: print "Usuario anonimo" 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')
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 print "##################" if not population.get_returned_counter() % EVOLUTION_INTERVAL: try: print "Evolucionando" evolve_Tournament() except Exception as e: exc_type, exc_value, exc_traceback = sys.exc_info() print e.message traceback.print_tb(exc_traceback, limit=20, file=sys.stdout) pass population.put_sample(params[0]) #Aqui se construye el grafo con el individuo if request.user.is_authenticated(): usr = request.user.username first_name = request.user.first_name #last_name = request.user.last_name name = first_name nodo = Nodo() person = Person() person_result = person.get_person(name) activity_stream = Activity_stream() #print u print "=========Parametros===========" print params[0] usrLastDate=str(usr_last_date(params[0]['sample'][0]['fitness'])) print usrLastDate usr_date_key = usr + ":" + usrLastDate print usr_date_key print params[0]['sample'][0]['fitness'][usr_date_key] rate = params[0]['sample'][0]['fitness'][usr_date_key] if params[0]["individuals_with_like"]: for item in params[0]["individuals_with_like"]: id = item print id individual_node = Graph_Individual() print "prueba ", params[0]["individuals_with_like"] # Verificar si el nodo individual existe con status last individual_node_exist = individual_node.get_node(id) if person_result: nodo1 = node(person_result[0][0]) if individual_node_exist: # si la lista esta vacia quiere decir que no existe nodo2 = node(individual_node_exist[0][0]) relation = Relations() relation.likes(nodo1,nodo2,rate) #request.user.username in k #Agreagando Activity stream para el verbo like activity_stream.activity("person", "like", "evaluate", usr) print "=========Parametros===========" else: print "Usuario anonimo" 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')
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')