Exemple #1
0
 def get(self):
     index_text = memcache.get("index")
     if not index_text:
         count = Review.all(keys_only=True).count()
         last_twelve = Review.gql("ORDER BY creationDate DESC LIMIT 12")
         percentage = count/20.0
         if percentage > 100.0:
             percentage = 100
         template = jinja_environment.get_template("index.html")
         index_text = template.render({"categories":Review.categories, "percentage":percentage, "numReviews":count, "latestReviews":last_twelve})
         memcache.add("index", index_text)
     self.response.out.write(index_text)
Exemple #2
0
 def get(self, category):
     template = jinja_environment.get_template("view.html")
     if users.is_current_user_admin():
         if category and category in Review.categories:
             reviews_collection = OrderedDict()
             for rating in Review.ratings:
                 reviews = Review.gql("WHERE rating = '%s' AND category = '%s'" % (rating, category))
                 if reviews.count() > 0:
                     reviews_collection[rating] = reviews
             self.response.out.write(template.render({"reviewsCollection": reviews_collection, "admin":True,"categories":Review.categories, "category":category}))
         else:
             reviews_collection = OrderedDict()
             for rating in Review.ratings:
                 reviews = Review.gql("WHERE rating = '%s'" % rating)
                 if reviews.count() > 0:
                     reviews_collection[rating] = reviews
             self.response.out.write(template.render({"reviewsCollection":reviews_collection, "admin":True,"categories":Review.categories}))
     #Not admin so cache etc
     else:
         if category and category in Review.categories:
             reviews_text = memcache.get("/view/%s" % category)
             if reviews_text is None:
                 reviews_collection = OrderedDict()
                 for rating in Review.ratings:
                     reviews = Review.gql("WHERE rating = '%s' AND category = '%s'" % (rating, category))
                     if reviews.count() > 0:
                         reviews_collection[rating] = reviews
                 reviews_text = template.render({"reviewsCollection":reviews_collection, "admin":False,"categories":Review.categories, "category":category})
                 memcache.add("/view/%s" % category, reviews_text)
         else:
             reviews_text = memcache.get("/view")
             if reviews_text is None:
                 reviews_collection = OrderedDict()
                 for rating in Review.ratings:
                     reviews = Review.gql("WHERE rating = '%s'" % rating)
                     if reviews.count() > 0:
                         reviews_collection[rating] = reviews
                 reviews_text = template.render({"reviewsCollection":reviews_collection, "admin":False,"categories":Review.categories})
                 memcache.add("/view", reviews_text)
         self.response.out.write(reviews_text)