Esempio n. 1
0
def postEntry(requestentity=None, check=0):

    newPost = Post()
    #college = CollegeDb(name = 'NITK',student_sup='Anirudh',collegeId='NITK-123')
    #college_key = college.put()
    query = CollegeDb.query()
    club_name = Club.query()
    if check == 0:
        print "The request entity key is " + requestentity.clubId
        key1 = ndb.Key('Club', int(requestentity.clubId))
        key2 = ndb.Key('Profile', int(requestentity.fromPid))
    else:
        key1 = requestentity.clubId
        key2 = requestentity.fromPid

    persons = Profile.query()
    #print club_name[0]
    #print "The key is " + club_name[0].key
    club_key = key1
    profile_key = key2
    flag = 0
    flag1 = 0
    clubs = Club.query()

    print "Profile Key " + str(profile_key)
    for x in persons:
        print x.key
        if (x.key == profile_key):
            print "Same"
            flag = 1
        else:
            print "NOPE"

    for x in clubs:
        print x.key
        if (x.key == club_key):
            print "Same"
            flag1 = 1
        else:
            print "NOPE"

            #setattr(clubRequest, field, profile_key)

    if (flag == 1 and flag1 == 1):
        if requestentity:
            for field in ('title', 'description', 'clubId', 'fromPid', 'likes',
                          'views', 'timestamp', 'photo', 'photoUrl', 'tags'):

                if hasattr(requestentity, field):
                    print(field, "is there")
                    val = getattr(requestentity, field)
                    if (field == "clubId"):
                        print "Club_Id stage"
                        setattr(newPost, 'club_id', club_key)

                    elif field == "fromPid":
                        print "Entered here"
                        person = profile_key.get()
                        print "Person's email-id ", person.email
                        person_collegeId = person.collegeId
                        print "His college Id ", person.collegeId
                        college_details = person_collegeId.get()
                        print "The sup is ", college_details.student_sup
                        setattr(newPost, 'from_pid', profile_key)
                        print "Put PID"
                        setattr(newPost, 'collegeId', person_collegeId)
                        print "Put college id"

                    elif field == "timestamp":
                        setattr(newPost, field, val)

                    elif field == "photoUrl" and val == None:
                        setattr(
                            newPost, field,
                            "https://lh3.googleusercontent.com/VLbWVdaJaq2HoYnu6J3T5aKC9DP_ku0KC3eelxawe6sqsPdNTarc5Vc0sx6VGqZ1Y-MlguZNd0plkDEZKYM9OnDbvR2tomX-Kg"
                        )

                    elif field == "tags":
                        print("Value is", val)
                        setattr(newPost, field, (val))

                    elif val:
                        print("Value is", val)
                        setattr(newPost, field, str(val))

                else:
                    if field == "timestamp":
                        temp = datetime.strptime(
                            getattr(requestentity, "date"), "%Y-%m-%d").date()
                        temp1 = datetime.strptime(
                            getattr(requestentity, "time"), "%H:%M:%S").time()
                        setattr(newPost, field, datetime.combine(temp, temp1))

                    setattr(newPost, "likes", 0)
                    setattr(newPost, "views", 0)

        print("About to create Post")
        print(newPost)
        newPost.put()

    else:
        print "Invalid Entry"

    return newPost