def get(self, post_id): username = self.isLoggedIn() key = db.Key.from_path('Post', int(post_id), parent=blog_key()) post = db.get(key) if username and post: if self.user and self.user.key().id() == post.user_id: self.render("error.html", error="You cannot like your own post!") else: l = Like.all().filter('user_id =', self.user.key().id()).filter( 'post_id =', post.key().id()).get() if l: self.redirect('/blog/' + str(post.key().id())) else: like = Like(parent=key, user_id=self.user.key().id(), post_id=post.key().id()) post.likes += 1 like.put() post.put() self.redirect('/blog/' + str(post.key().id())) else: self.render("error.html", error="You must be logged in to 'like' a post.")
def post(self, post_id): key = db.Key.from_path('Post', int(post_id), parent=blog_key()) post = db.get(key) if not post: self.error(404) return c = "" if (self.user): # post-like value increases by clicking like. if (self.request.get('like') and self.request.get('like') == "update"): likes = db.GqlQuery("select * from Like where post_id = " + post_id + " and user_id = " + str(self.user.key().id())) if self.user.key().id() == post.user_id: self.redirect("/blog/" + post_id + "?error=You cannot like your " + "own post!") return elif likes.count() == 0: like = Like(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id)) like.put() self.redirect("/blog/" + post_id + "?error=You can like your " + "post once.!!!!") return comment = self.request.get('comment') if comment: c = Comment(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id), comment=comment) c.put() else: self.redirect("/blog/" + post_id + "?error=You need to type your " + "comment.!!!!") return else: self.redirect("/login?error=First login and then " + "try to edit, comment or like.!!") return comments = db.GqlQuery("select * from Comment where post_id = " + post_id + "order by created desc") likes = db.GqlQuery("select * from Like where post_id=" + post_id) self.render("permalink.html", post=post, comments=comments, likeCount=likes.count(), new=c)
def post(self, post_id): key = db.Key.from_path('Post', int(post_id), parent=blog_key()) post = db.get(key) if not post: self.error(404) return """ On posting comment, new comment tuple is created and stored, with relationship data of user and post. """ c = "" if (self.user): # On clicking like, post-like value increases. if (self.request.get('like') and self.request.get('like') == "update"): likes = db.GqlQuery("select * from Like where post_id = " + post_id + " and user_id = " + str(self.user.key().id())) if self.user.key().id() == post.user_id: self.redirect("/blog/" + post_id + "?error=You cannot like your " + "post.!!") return elif likes.count() == 0: l = Like(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id)) l.put() # On commenting, it creates new comment tuple if (self.request.get('comment')): c = Comment(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id), comment=self.request.get('comment')) c.put() else: self.redirect("/login?error=You need to login before " + "performing edit, like or commenting.!!") return comments = db.GqlQuery("select * from Comment where post_id = " + post_id + "order by created desc") likes = db.GqlQuery("select * from Like where post_id=" + post_id) self.render("permalink.html", post=post, comments=comments, noOfLikes=likes.count(), new=c)
def post(self, post_id): key = db.Key.from_path('Post', int(post_id), parent=blog_key()) post = db.get(key) if not post: self.error(404) return c = '' if self.user: # On clicking like, post-like value increases. if self.request.get('like') and self.request.get('like') \ == 'update': likes = \ db.GqlQuery('select * from Like where post_id = ' + post_id + ' and user_id = ' + str(self.user.key().id())) if self.user.key().id() == post.user_id: self.redirect('/blog/' + post_id + '?error=You cannot like your ' + 'post.!!') return elif likes.count() == 0: l = Like(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id)) l.put() # On commenting, it creates new comment tuple if self.request.get('comment'): c = Comment(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id), comment=self.request.get('comment')) c.put() else: self.redirect('/login?error=You need to login before ' + 'performing edit, like or commenting.!!') return comments = db.GqlQuery('select * from Comment where post_id = ' + post_id + 'order by created desc') likes = db.GqlQuery('select * from Like where post_id=' + post_id) self.render('full-post.html', post=post, comments=comments, noOfLikes=likes.count(), new=c)
def post(self, post_id): k = db.Key.from_path('Post', int(post_id), parent=blog_key()) post = db.get(k) if not post: self.error(404) return c = "" if (self.user): # Add a like to a post if (self.request.get('like') and self.request.get('like') == "update"): likes = db.GqlQuery("select * from Like where post_id = " + post_id + " and user_id = " + str(self.user.key().id())) if self.user.key().id() == post.user_id: self.redirect("/blog/" + post_id + "?error=You can't like your " + "own post!") return # Else add the like elif likes.count() == 0: l = Like(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id)) l.put() # Adds comment and creates new tuple if (self.request.get('comment')): c = Comment(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id), comment=self.request.get('comment')) c.put() else: self.redirect("/login?error=You can't edit, like, or comment" + " a post without signing in!") return comments = db.GqlQuery("select * from Comment where post_id = " + post_id + "order by created desc") likes = db.GqlQuery("select * from Like where post_id=" + post_id) self.render("permalink.html", post=post, comments=comments, likeCount=likes.count(), new=c)
def post(self, post_id): key = db.Key.from_path('Post', int(post_id), parent=blog_key()) post = db.get(key) if not post: self.error(404) return c = "" if (self.user): likes = db.GqlQuery("select * from Like where post_id = " + post_id + " and user_id = " + str(self.user.key().id())) if (self.request.get('like') and self.request.get('like') == "update"): if (self.user.key().id() == post.user_id): self.redirect("/blog/" + post_id + "?error=You cannot Like your" + "post.!!") return elif likes.count() == 0: l = Like(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id)) l.put() if (self.request.get('comment')): c = Comment(parent=blog_key(), user_id=self.user.key().id(), post_id=int(post_id), comment=self.request.get('comment')) c.put() else: self.redirect("/login?error= Login before " + "edit or comment or like.!!") return comments = db.GqlQuery("select * from Comment where post_id = " + post_id + "order by created desc") self.render("postDetails.html", post=post, noOfLikes=likes.count(), comments=comments, new=c)
def get(self, value=None): if self.read_secure_cookie('user_id'): if value: tag = value.split(',') if (tag[1]): post = tag[0] value = tag[1] user = self.read_secure_cookie('user_id') if int(post) and Post.by_id(post): if Like.by_post_user(post, user).count() < 1: like = Like(post=post, value=int(value), user=user) like.put() else: like = Like.by_post_user(post, user).get() like.value = int(value) like.put() else: self.redirect('/') else: self.redirect('/') self.redirect('/post/%s' % post) else: self.redirect('/')