def post(self): fb_id = self.get_argument("fb_id") review_text = self.get_argument("review_text") __eatery_id = self.get_argument("__eatery_id") __eatery_name = self.get_argument("eatery_name") if not users_details_collection.find_one({"fb_id": fb_id}): self.set_status(401) self.write({ "error": True, "success": False, "messege": "User needs to login" }) self.finish() return fmt = "%d %B %Y %H:%M:%S" now_utc = datetime.now(timezone('UTC')) utctimestamp = __utc.strftime(fmt) indian = now_utc.astimezone(timezone('Asia/Kolkata')) indian_time = indian.strftime(fmt) user = users_details_collection.find_one({"fb_id": fb_id}, { "_id": False, "fb_id": False, "email": False }) __dict = { "review_text": review_text, "fb_id": fb_id, "__eatery_id": __eatery_id, "__eatery_name": __eatery_name } review_id = hashlib.sha256(indian_time + __eatery_id + review_text + _dict.get("fb_id")).hexdigest() if users_reviews_collection.find_one(__dict): self.write({ "error": True, "success": False, "messege": "This review has already been posted" }) self.finish() return __dict.update({"utc": utctimestamp}) __dict.update({"epoch": indian_time}) __dict.update(user) __dict.update({"review_id": review_id}) users_reviews_collection.insert(__dict) self.write({ "error": False, "success": True, "messege": "This review has been posted", }) self.finish() return
def post(self): review_id = self.get_argument("review_id") fb_id = self.get_argument("fb_id") if users_reviews_collection.find_one({ "review_id": review_id, "users": { "fb_id": fb_id } }): self.write({ "success": False, "error": True, "messege": "User already have liked the picture", }) self.finish() return users_reviews_collection.update({"review_id": review_id}, { "$inc": { "likes": 1 }, "$addToSet": { "users": { "fb_id": fb_id } } }, upsert=False) users_details_collection.update( {"fb_id": fb_id}, {"$addToSet": { "reviews_liked": { "reviews_id": review_id } }}, upsert=False) self.write({ "success": True, "error": False, "messege": "Review has been liked by the user", }) self.finish() return
def post(self): __eatery_id = self.get_argument("__eatery_id") try: limit = int(self.get_argument("limit")) except Exception as e: print e limit = 10 try: skip = int(self.get_argument("skip")) except Exception as e: print e skip = 0 result = list() if not users_reviews_collection.find_one({"__eatery_id": __eatery_id}): self.write({ "error": True, "success": False, "messege": "No reviews are present", }) self.finish() return for review in users_reviews_collection.find( { "__eatery_id": __eatery_id }, { "_id": False, "utc": False }).sort("epoch", -1).skip(skip).limit(limit): result.append(review) self.write({ "error": False, "success": True, "result": result, }) self.finish() return