def post(self, article_key=None): article = Article.get(article_key) if article is None or not article.is_active: return self.error(404) errors = [] content = self.request.get('content', '').strip() if not content: errors.append('Content cannot be empty') if errors: return self.render('revision_add.html', locals()) user = self.get_current_user() rev = ArticleRevision(user=user, article=article, content=content) rev.put() if user == article.creator: article.current_rev_key = str(rev.key()) article.put() full_rev_url = urlparse.urljoin(self.request.uri, rev.href()) blip = Blip.new(user, u'edited article %s %s' % (article.title, full_rev_url)) return self.redirect(article.href())