def post(self, slug=None): if slug != None and slug == "new": try: p = Model.Post() p.title = fromq(self.q("title")) p.author = Model.User.all().get() #TODO category = Model.Category.get(fromq(self.q("category"))) p.category = category p.created = datetime.datetime.now() p.url = fromq(self.q("url")) Base.processurl(p) p.created = Base.ParserLocalTimeToUTC(self.q("created")) p.content = fromq(self.q("content")) p.precontent = fromq(self.q("precontent")) p.put() tags = fromq(self.q("tag")).split(",") if len(tags) == 1 and tags[0] == "": pass else: for i in tags: t = Model.Tag.all().filter("title =", i).get() if t == None: t = Model.Tag(title=i, description="在神秘的 %s 我降临啦" % datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")) t.put() rela = Model.tags_posts.all().filter("tag =", t).filter("post =", p).get() if rela == None: rela = Model.tags_posts() rela.post = p rela.tag = t rela.put() Base.pinghub() except: exc_type, exc_value, exc_traceback = sys.exc_info() logging.info("save fail in Post case :%s" %(traceback.format_exception(exc_type, exc_value, exc_traceback), )) elif slug != None: try: p = Model.Post.get(slug) if p == None: self.redirect("/admin/post") return action = self.q("action") if action == "delete": Model.Comment.deletes(Model.Comment.all().filter("belong =", p).fetch(1000)) Model.tags_posts.deletes(Model.tags_posts.all().filter("post =", p).fetch(1000)) p.delete() self.write("ok") return else: p.title = fromq(self.q("title")) p.author = Model.User.all().get() #TODO category = Model.Category.get(fromq(self.q("category"))) p.category = category p.url = fromq(self.q("url")) Base.processurl(p) p.created = Base.ParserLocalTimeToUTC(self.q("created")) p.content = fromq(self.q("content")) p.precontent = fromq(self.q("precontent")) p.put() tags = fromq(self.q("tag")).split(",") if tags == None: ralas = Model.tags_posts.all().filter("post =", p).fetch(1000) Model.tags_posts.deletes(ralas) else: for i in tags: t = Model.Tag.all().filter("title =", i).get() if t == None: t = Model.Tag(title=i, description="在神秘的 %s 我降临啦" % datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S")) t.put() rela = Model.tags_posts.all().filter("tag =", t).filter("post =", p).get() if rela == None: rela = Model.tags_posts() rela.post = p rela.tag = t rela.put() except: exc_type, exc_value, exc_traceback = sys.exc_info() logging.info("save fail in Post case :%s" %(traceback.format_exception(exc_type, exc_value, exc_traceback), )) self.redirect("/admin/post")