Exemple #1
0
    def useSchool(self, schoolData):
        self.school = Schools.gql("WHERE school_id = :1", schoolData["id"]).get()
        if self.school == None:
            # not found, insert it
            self.school = Schools(
                school_id=schoolData["id"], name=schoolData["name"], lat=schoolData["lat"], lng=schoolData["lng"]
            )
            self.school.put()

            # create a new up/downvote key in memcache
            key = "SchoolUpvote." + self.school.school_id
            memcache.add(key, 0)
            key = "SchoolDownvote." + self.school.school_id
            memcache.add(key, 0)
Exemple #2
0
    def schoolUpvote(self, schoolID, userID):

        upvotes = memcache.get("UserSchoolUpvote.%s" % userID)

        user = User.get_by_id(int(userID))

        if upvotes == None:
            upvotes = user.upvotes

        key = "SchoolUpvote." + schoolID
        vote = memcache.get(key)

        # search if school already included
        if schoolID not in upvotes:

            self.school = Schools.gql("WHERE school_id = :1", schoolID).get()

            if vote == None:
                vote = self.school.upvote
                memcache.add(key, vote)

            vote = memcache.incr(key)

            self.school.upvote = vote
            self.school.put()

            logging.info("upvoted school %s" % schoolID)

            # store user upvoted school
            key = "UserSchoolUpvote.%s" % userID
            if upvotes != "":
                upvotes = "%s,%s" % (upvotes, schoolID)
            else:
                upvotes = "%s" % schoolID

            logging.info("storing upvote for key %s" % key)

            memcache.set(key, upvotes)

            user.upvotes = upvotes
            user.put()

        return vote