def home(request):
    #print request
    if request.user.is_authenticated():
        #REFACTOR GET_FRIENDS
        print request.user.username
        face = FacebookSession.objects.get(uid=request.user.username)
        friends = None
        
        friends = face.query("me", connection_type="friends", fields='name,installed')
       
        #print friends
       
        
        #print "Amigos"
        #print friends



            #print "Hola, mundo!!"


        #Consultar nodo usuario
        u = request.user.username
        e = request.user.email
        fn = request.user.first_name
        #ln = request.user.last_name
        na = fn
        n = Nodo()
        p = Person()
        #print na
        person_result = p.get_person(na)
        print "if resultado igual a error"
        print person_result
        print "2323232323232323"
        #print u

        # if not r:
        #     print "creando nodo"
        #     n.create_nodo(element_type="person", id=u, email=e, name=na)
        #     print "creo nodo"
        #     print n

        #print "+++++++++++++++++"
        #print na, r[0][0]["name"]
        #n = Person()
        # participation = p.get_participation(u)
        # participation = participation[0][0]
        # print participation
        # ranking=get_level(participation)
        # print ranking



        if request.method == 'POST':
            if request.POST.has_key("webDesing"):
                web_design = request.POST["webDesing"]
                if web_design == "on":
                    nodo_web_design = Nodo()
                    nodo_web_design_exist = WebDesign() # creando objeto WebDesig
                    web_design_result = nodo_web_design_exist.get_node("web design") # Verificar si hay resultado

                    print "estoy en el if"
                    if not web_design_result: # si lista esta vacia quiere decir que el nodo web design no exist hay que crearlo
                        nodo_web_design.create_nodo(element_type="web_des", name="web design")
                        print "Nodo Web design creado"

                    #nodo_web_design_exist = WebDesign() # creando objeto WebDesig
                    #result = nodo_web_design_exist.get_node("web design") # Verificar si hay resultado

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_design_result[0][0])
                    print "Making a relition LIKE between nodes"
                    relation = Relations()
                    relation.likes(nodo1,nodo2)
                    print "You like web design"

            if request.POST.has_key("webDevelopment"):
                web_dev = request.POST["webDevelopment"]
                if web_dev == "on":
                    nodo_web_dev = Nodo()
                    nodo_web_dev_exist = WebDev()
                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    if not web_develoment_result:
                        nodo_web_dev.create_node(element_type="web_dev", name="web design")

                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_develoment_result[0][0])
                    relation = Relations()
                    relation.likes(nodo1,nodo2)
                    print "You like web develoment"

            if request.POST.has_key("internet"):
                internet = request.POST["internet"]

                if internet == "on":
                    nodo_internet = Nodo()
                    nodo_internet_exist = WebDev
                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    if not web_develoment_result:
                        nodo_web_dev.create_node(element_type="web_dev", name="web design")

                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_develoment_result[0][0])
                    relation = Relations()
                    relation.likes(nodo1,nodo2)

                    print "You like internet"
                    
            #internet = request.POST["internet"]
            #elementary = request.POST["elementary"]
            #phd = request.POST['PhD']

        if friends:
        # Mejor con FQL
            app_friends = [f for f in friends['data'] if f.has_key('installed')]

            if app_friends:
                for i in range(len(app_friends)):
                    person_relation_knows = p.get_relation_knows(na, app_friends[i]["name"])
                    if person_relation_knows:
                        print "Existe relacion entre ambos"
                        pass
                    else:
                        print "crea relacion knows"
                        friend_result = p.get_person(app_friends[i]["name"])
                        if friend_result:
                            nodo_user = node(person_result[0][0])
                            nodo_friend = node(friend_result[0][0])
                            relation_knows = Relations()
                            relation_knows.knows(nodo_user, nodo_friend)

        else:
            app_friends = None
    else:
        app_friends = None



    return render_to_response('django_index.html', {'static_server': 'https://s3.amazonaws.com/evospace/prototype/',
                                                    'api_server': 'http://app.evospace.org', 'friends': app_friends,
                                                    },
                              context_instance=RequestContext(request))
def add_collection(request, username):
    global message
    errors = []
    if request.method == 'POST':
        #print "Estas en add collections"
        #users=User.objects.all();
        #u1=User.objects.get(username=username)
        #u=users[0]
        #print request.POST
        json_data = json.loads(request.body)

        n = json_data["name"]
        d = json_data["description"]
        v = json_data["option"]

        #print n

        c = Collection(name=n,
                       description=d,
                       creation_date=datetime.datetime.now(),
                       visibility=v)
        c.save()


        #Agregar nodo Coleccion a la red de grafos
        nodo_collection = Nodo()
        nodo_collection.create_nodo(element_type="Collection", name=n, description=d, visibility=v)


        print "Salvaste colleccion"
        #c_id=Collection.objects.latest('id')
        #c_id=c_id.id
        #u_id=u1.id

        #if User.objects.get(id=u_id) and Collection.objects.get(id=c_id):
        #u=User.objects.get(id=u_id)
        #c=Collection.objects.get(id=c_id)

        u=request.user.last_name
        #print u

        uc = User_Collection(user=request.user,
                             collection=c,
                             role="O",
                             status="PU")
        uc.save()

        #Activity stream
        activity_stream = Activity_stream()
        usr = request.user.username
        activity_stream.activity("person", "save", "new collection", usr)


        #Relacionar coleccion con el usuario
        firstName = request.user.first_name
        #lastName = request.user.last_name
        name = firstName
        person = Person()
        person_result = person.get_person(name)
        collection = GraphCollection()
        collection_result = collection.get_collection(n)
        nodo1 = node(person_result[0][0])
        nodo2 = node(collection_result[0][0])
        relation = Relations()
        relation.has(nodo1, nodo2)


        message = "You are now linked to this collection!"
        #else:
        #    message= "Sorry there is no collection or user"
        #add_user_collection(id,c_id)
        #col= Collection.objects.all()

        data = ({'name': n, 'description': d, 'visibility': v, 'message': message})
        datar = json.dumps(data)
        print datar

    return HttpResponse(datar, mimetype='application/json')
示例#3
0
def add_collection(request, username):
    global message
    errors = []
    if request.method == 'POST':
        #print "Estas en add collections"
        #users=User.objects.all();
        #u1=User.objects.get(username=username)
        #u=users[0]
        #print request.POST
        json_data = json.loads(request.body)

        n = json_data["name"]
        d = json_data["description"]
        v = json_data["option"]

        print n

        c = Collection(name=n,
                       description=d,
                       creation_date=datetime.datetime.now(),
                       visibility=v)
        c.save()

        #Agregar nodo Coleccion a la red de grafos
        nodo_collection = Nodo()
        nodo_collection.create_nodo(element_type="Collection",
                                    name=n,
                                    description=d,
                                    visibility=v)

        print "Salvaste colleccion"
        #c_id=Collection.objects.latest('id')
        #c_id=c_id.id
        #u_id=u1.id

        #if User.objects.get(id=u_id) and Collection.objects.get(id=c_id):
        #u=User.objects.get(id=u_id)
        #c=Collection.objects.get(id=c_id)

        u = request.user.last_name
        #print u

        uc = User_Collection(user=request.user,
                             collection=c,
                             role="O",
                             status="PU")
        uc.save()

        #Activity stream
        activity_stream = Activity_stream()
        usr = request.user.username
        activity_stream.activity("person", "save", "new collection", usr)

        #Relacionar coleccion con el usuario
        firstName = request.user.first_name
        lastName = request.user.last_name
        name = firstName + " " + lastName
        person = Person()
        person_result = person.get_person(name)
        collection = GraphCollection()
        collection_result = collection.get_collection(n)
        nodo1 = node(person_result[0][0])
        nodo2 = node(collection_result[0][0])
        relation = Relations()
        relation.has(nodo1, nodo2)

        message = "You are now linked to this collection!"
        #else:
        #    message= "Sorry there is no collection or user"
        #add_user_collection(id,c_id)
        #col= Collection.objects.all()

        data = ({
            'name': n,
            'description': d,
            'visibility': v,
            'message': message
        })
        datar = json.dumps(data)
        print datar

    return HttpResponse(datar, content_type='application/json')
示例#4
0
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')
示例#5
0
def inicio(request):
    #print request
    if request.user.is_authenticated():
        #REFACTOR GET_FRIENDS
        print request.user.username
        face = FacebookSession.objects.get(uid=request.user.username)
        friends = None

        friends = face.query("me",
                             connection_type="friends",
                             fields='name,installed')

        print friends

        #print "Amigos"
        #print friends

        #print "Hola, mundo!!"

        #Condultar nodo usuario
        u = request.user.username
        e = request.user.email
        fn = request.user.first_name
        ln = request.user.last_name
        na = fn + " " + ln
        n = Nodo()
        p = Person()
        print na
        person_result = p.get_person(na)
        print "if resultado igual a error"
        print person_result

        # if not r:
        #     print "creando nodo"
        #     n.create_nodo(element_type="person", id=u, email=e, name=na)
        #     print "creo nodo"
        #     print n

        print "+++++++++++++++++"
        #print na, r[0][0]["name"]

        if request.method == 'POST':
            if request.POST.has_key("webDesing"):
                web_design = request.POST["webDesing"]
                if web_design == "on":
                    nodo_web_design = Nodo()
                    nodo_web_design_exist = WebDesign(
                    )  # creando objeto WebDesig
                    web_design_result = nodo_web_design_exist.get_node(
                        "web design")  # Verificar si hay resultado

                    print "estoy en el if"
                    if not web_design_result:  # si lista esta vacia quiere decir que el nodo web design no exist hay que crearlo
                        nodo_web_design.create_nodo(element_type="web_des",
                                                    name="web design")
                        print "Nodo Web design creado"

                    #nodo_web_design_exist = WebDesign() # creando objeto WebDesig
                    #result = nodo_web_design_exist.get_node("web design") # Verificar si hay resultado

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_design_result[0][0])
                    print "Making a relition LIKE between nodes"
                    relation = Relations()
                    relation.likes(nodo1, nodo2)
                    print "You like web design"

            if request.POST.has_key("webDevelopment"):
                web_dev = request.POST["webDevelopment"]
                if web_dev == "on":
                    nodo_web_dev = Nodo()
                    nodo_web_dev_exist = WebDev()
                    web_develoment_result = nodo_web_dev_exist.get_node(
                        "web develoment")

                    if not web_develoment_result:
                        nodo_web_dev.create_node(element_type="web_dev",
                                                 name="web design")

                    web_develoment_result = nodo_web_dev_exist.get_node(
                        "web develoment")

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_develoment_result[0][0])
                    relation = Relations()
                    relation.likes(nodo1, nodo2)
                    print "You like web develoment"

            if request.POST.has_key("internet"):
                internet = request.POST["internet"]

                if internet == "on":
                    nodo_internet = Nodo()
                    nodo_internet_exist = WebDev
                    web_develoment_result = nodo_web_dev_exist.get_node(
                        "web develoment")

                    if not web_develoment_result:
                        nodo_web_dev.create_node(element_type="web_dev",
                                                 name="web design")

                    web_develoment_result = nodo_web_dev_exist.get_node(
                        "web develoment")

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_develoment_result[0][0])
                    relation = Relations()
                    relation.likes(nodo1, nodo2)

                    print "You like internet"

            #internet = request.POST["internet"]
            #elementary = request.POST["elementary"]
            #phd = request.POST['PhD']

        if friends:
            # Mejor con FQL
            app_friends = [
                f for f in friends['data'] if f.has_key('installed')
            ]

            if app_friends:
                for i in range(len(app_friends)):
                    person_relation_knows = p.get_relation_knows(
                        na, app_friends[i]["name"])
                    if person_relation_knows:
                        print "Existe relacion entre ambos"
                        pass
                    else:
                        print "crea relacion knows"
                        friend_result = p.get_person(app_friends[i]["name"])
                        if friend_result:
                            nodo_user = node(person_result[0][0])
                            nodo_friend = node(friend_result[0][0])
                            relation_knows = Relations()
                            relation_knows.knows(nodo_user, nodo_friend)

        else:
            app_friends = None
    else:
        app_friends = None

    return render_to_response('epanol_index.html', {
        'static_server': 'https://s3.amazonaws.com/evospace/prototype/',
        'api_server': 'http://app.evospace.org',
        'friends': app_friends
    },
                              context_instance=RequestContext(request))
def home(request):
    #print request
    if request.user.is_authenticated():
        #REFACTOR GET_FRIENDS
        face = FacebookSession.objects.get(uid=request.user.username)
        print "FACEBOOK"
        print face
        friends = face.query("me", connection_type="friends", fields='name,installed')
        print friends


        #print "Hola, mundo!!"
        #r = redis.StrictRedis(host='localhost', port=6379, db=0)
        from lib.store import redis
        r = redis
        experience = 0

        #Condultar nodo usuario
        u = request.user.username
        e = request.user.email
        fn = request.user.first_name
        ln = request.user.last_name
        na = fn + " " + ln
        n = Nodo()
        p = Person()
        print na
        person_result = p.get_person(na)
        print "if resultado igual a error"
        print person_result

        # if not r:
        #     print "creando nodo"
        #     n.create_nodo(element_type="person", id=u, email=e, name=na)
        #     print "creo nodo"
        #     print n

        print "+++++++++++++++++"
        #print na, r[0][0]["name"]

        if request.method == 'POST':
            if request.POST.has_key("webDesing"):
                web_design = request.POST["webDesing"]
                if web_design == "on":
                    nodo_web_design = Nodo()
                    nodo_web_design_exist = WebDesign() # creando objeto WebDesig
                    web_design_result = nodo_web_design_exist.get_node("web design") # Verificar si hay resultado

                    print "estoy en el if"
                    if not web_design_result: # si lista esta vacia quiere decir que el nodo web design no exist hay que crearlo
                        nodo_web_design.create_nodo(element_type="web_des", name="web design")
                        print "Nodo Web design creado"

                    #nodo_web_design_exist = WebDesign() # creando objeto WebDesig
                    #result = nodo_web_design_exist.get_node("web design") # Verificar si hay resultado

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_design_result[0][0])
                    print "Making a relition LIKE between nodes"
                    relation = Relations()
                    relation.likes(nodo1,nodo2)
                    print "You like web design"

            if request.POST.has_key("webDevelopment"):
                web_dev = request.POST["webDevelopment"]
                if web_dev == "on":
                    nodo_web_dev = Nodo()
                    nodo_web_dev_exist = WebDev()
                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    if not web_develoment_result:
                        nodo_web_dev.create_node(element_type="web_dev", name="web design")

                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_develoment_result[0][0])
                    relation = Relations()
                    relation.likes(nodo1,nodo2)
                    print "You like web develoment"

            if request.POST.has_key("internet"):
                internet = request.POST["internet"]

                if internet == "on":
                    nodo_internet = Nodo()
                    nodo_internet_exist = WebDev
                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    if not web_develoment_result:
                        nodo_web_dev.create_node(element_type="web_dev", name="web design")

                    web_develoment_result = nodo_web_dev_exist.get_node("web develoment")

                    nodo1 = node(person_result[0][0])
                    nodo2 = node(web_develoment_result[0][0])
                    relation = Relations()
                    relation.likes(nodo1,nodo2)

                    print "You like internet"

            #internet = request.POST["internet"]
            #elementary = request.POST["elementary"]
            #phd = request.POST['PhD']

        if friends:
        #Mejor con FQL
            app_friends = [f for f in friends['data'] if f.has_key('installed')]

            if app_friends:
                for i in range(len(app_friends)):
                    person_relation_knows = p.get_relation_knows(na, app_friends[i]["name"])
                    if person_relation_knows:
                        print "Existe relacion entre ambos"
                        pass
                    else:
                        print "crea relacion knows"
                        friend_result = p.get_person(app_friends[i]["name"])
                        if friend_result:
                            nodo_user = node(person_result[0][0])
                            nodo_friend = node(friend_result[0][0])
                            relation_knows = Relations()
                            relation_knows.knows(nodo_user, nodo_friend)

        else:
            app_friends = None

        # Calculo de experiencia del usuario
       

    
        

        #json_string = json.dumps(user_activity[0])
        #j=json_string.replace("'", "\"")
        #s=l[0].replace("'", "\"")
        #d = ast.literal_eval(s)


        
        current_experience(request)
        print "user=======" + " " + request.user.username



    else:
        app_friends = None

          #'friends': app_friends 
    return render_to_response('django_index.html', {'static_server': 'https://s3.amazonaws.com/evospace/prototype/',
                                                    'api_server': 'http://app.evospace.org', 'friends': app_friends },
                              context_instance=RequestContext(request))
示例#7
0
class FacebookBackend:
    def authenticate(self, token=None):
        print token

        facebook_session = models.FacebookSession.objects.get(
            access_token=token, )

        profile = facebook_session.query('me')
        print "^^^^^^^^^PROFILE^^^^^^^^^^^^"

        try:
            user = auth_models.User.objects.get(username=profile['id'])
        except auth_models.User.DoesNotExist, e:
            user = auth_models.User(username=profile['id'])

        user.set_unusable_password()

        if 'username' in profile:
            user.email = profile['username']
        else:
            user.email = profile['id']

        user.first_name = profile['first_name']
        user.last_name = profile['last_name']
        user.save()

        #Agregando Activity_stream
        #activity_stream = Activity_stream()

        #Agregando nodo usuario, creado por Christian "Nuevo"
        usr = profile['id']
        email = profile['name']
        first_name = profile['first_name']
        last_name = profile['last_name']
        full_name = first_name + " " + last_name

        print '****************'
        nodo = Nodo()
        person = Person()
        person_result = person.get_person(full_name)

        print usr, email, full_name
        print "if person_result es vacio, entonce hay que crearlo"
        print person_result

        if not person_result:
            print "creando nodo"
            nodo.create_nodo(element_type="person",
                             id=usr,
                             email=email,
                             name=full_name)
            print "creo nodo"

        #Agregando Activity_stream
        activity_stream = Activity_stream()
        activity_stream.activity("person", "join", "log in", usr)

        try:
            models.FacebookSession.objects.get(uid=profile['id']).delete()
        except models.FacebookSession.DoesNotExist, e:
            pass