Ejemplo n.º 1
0
    def post(self, args):
        draft_id = request.args.get('draft_id', type=int)
        doc = Post.query.get(draft_id)
        if doc:
            if doc.published == True: return api_abort(403, "该文章已发布")
        else:
            doc = Post()
        content = args["body"]
        soup = filter_html(content)

        doc.title = args["title"]
        doc.body = str(soup)
        doc.update_time = datetime.datetime.now()
        doc.category_id = args["category_id"] or 1
        doc.author = g.user
        try:
            db.session.add(doc)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            current_app.logger.error(e)
            return api_abort(400, "数据保存失败")
        response = jsonify(post_schema(doc))
        response.status_code = 201
        return response
Ejemplo n.º 2
0
    def post(self, args):
        """
        新建文章
        :param args:
        :return:
        """
        content = args["body"]
        soup = filter_html(content)
        # 构建摘要数据,获取标签字符串的文本前150个符号
        desc = soup.text[0:150] + "..."

        doc = Post()
        doc.title = args["title"]
        doc.category_id = args["category_id"] or 1
        doc.desc = desc
        doc.body = str(soup)
        doc.published = True
        doc.author = g.user
        # doc.author_id = 20
        try:
            db.session.add(doc)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            current_app.logger.error(e)
            return api_abort(400, "数据保存失败")
        response = jsonify(post_schema(doc))
        response.status_code = 201
        return response