def post(self): pdict = self.request.POST try: #def new(cls, title, category_keyname, author_keyname, url, keyword, tags, content, status=PostStatus.NORMAL, format=PostFormat.PLAIN, enablecomment=True): tags = pdict.get("post.tags").split(",") for i in tags: Tag.Incr(i) pkey = Post.new(title=pdict.get("post.title"), category_keyname=pdict.get("post.category").decode(config.CHARSET).encode("utf-8"), author_keyname=self.session.get("curr_ukey").decode(config.CHARSET).encode("utf-8"), url=pdict.get("post.url"), keyword=pdict.get("post.keyword").split(","), tags=tags, content=pdict.get("post.content"), format=pdict.get("post.format") ) p = Post.id(pkey.id()) p.realurl = realurl(p) Post.put(p) Post.refresh_total() except Exception, ex: context = {} context.update(self.request.POST) context["errors_msg"] = ex context["page_name"] = u"添加文章" context["page_title"] = u"添加文章" context["all_category"] = Category.get_all() self.render("admin_post_editor.html", context)
def post(self, post_id): logging.info(self.request.environ) post_id = int(post_id) p = Post.id(post_id) if not p: self.redirect(config.BLOG_ADMIN_PATH + "post/") return pdict = self.request.POST cur_tags = set(pdict.get("post.tags").split(",")) old_tags = set(p.tags) for i in old_tags^(cur_tags&old_tags): Tag.Decr(i) for i in cur_tags^(cur_tags&old_tags): Tag.Incr(i) tags = list(cur_tags) try: old_realurl = p.realurl pkey = Post.modify(post_id=post_id, title=pdict.get("post.title"), category_keyname=pdict.get("post.category").decode(config.CHARSET).encode("utf-8"), author_keyname=self.session.get("curr_ukey").decode(config.CHARSET).encode("utf-8"), url=pdict.get("post.url"), keyword=pdict.get("post.keyword").split(","), tags=pdict.get("post.tags").split(","),#tags, content=pdict.get("post.content"), format=pdict.get("post.format") ) p = Post.id(pkey.id()) if p.realurl != old_realurl: p.realurl = realurl(p) p.put() except Exception, ex: logging.info(ex) context = {} context.update(self.request.POST) context["errors_msg"] = ex context["page_name"] = u"修改文章" context["page_title"] = u"修改文章" context["all_category"] = Category.get_all() self.render("admin_post_editor.html", context)