Ejemplo n.º 1
0
def blog_list():
    if request.method == "GET":
        return render_template("blog-list.html")
    elif request.method == "POST":
        content_list = Article.query.all()
        data_list = []
        for data in content_list:
            data_list.append(data.to_json())
        return jsonify(data_list)
    elif request.method == 'DELETE':
        data = request.get_json()
        if len(data["article"]) != 0:
            for article_id in data["article"]:
                content = Article.query.filter(
                    Article.id == article_id.get('id')).first()
                delete = content.delete()
                if delete.get('status'):
                    content_list = Article.query.all()
                    data_list = []
                    for data in content_list:
                        data_list.append(data.to_json())
                        cache.clear()
                    return jsonify({'status': "success",
                                    "message": ' 删除成功!', 'data': data_list})
                else:
                    return jsonify({'status': "error", "message": str(delete.get("message"))})

        return jsonify({"ok": "ok"})
Ejemplo n.º 2
0
def comment():
    if request.method == "POST":
        if session.get('imageCode').lower() == request.form.get(
                'captcha').lower():
            nick = request.form.get('nick')
            mail = request.form.get('mail')
            text = request.form.get('text')
            link = request.form.get('link')
            comment_type = request.form.get('type')
            parent_id = 0  # 空
            article_id = request.form.get('articleId')
            user_id = request.form.get('userId')
            agent = request.user_agent.browser
            parent_uuid = request.form.get('parent_uuid')
            parent_name = request.form.get('parent_name')

            if parent_uuid:
                review = Comment(user_id=user_id,
                                 agent=agent,
                                 comment_type=comment_type,
                                 guest_name=nick,
                                 guest_email=mail,
                                 text=text,
                                 web_site=link,
                                 show_status=True,
                                 parent_uuid=parent_uuid,
                                 parent_name=parent_name,
                                 parent_id=parent_id)
                save = review.save()
                if save.get('status'):
                    cache.clear()
                    return jsonify({'status': 'success'})
                else:
                    return jsonify({'status': 'error', 'message': '服务器发生错误'})
            else:

                review = Comment(post_id=article_id,
                                 user_id=user_id,
                                 agent=agent,
                                 comment_type=comment_type,
                                 guest_name=nick,
                                 guest_email=mail,
                                 text=text,
                                 web_site=link,
                                 show_status=True)
                save = review.save()
                if save.get('status'):
                    cache.clear()
                    return jsonify({'status': 'success'})
                else:
                    return jsonify({'status': 'error', 'message': '服务器发生错误'})
        else:
            return {'status': 'error', 'message': '验证码错误'}

    return 'aa'
Ejemplo n.º 3
0
def blog_tag():
    if request.method == "GET":
        return render_template('blog-tag.html', **locals())
    elif request.method == "POST":
        tagData = Tag.query.all()
        tags = []
        for i in tagData:
            tags.append({'id': i.id, 'name': i.name})
        return jsonify(tags)
    elif request.method == "PUT":
        data = request.get_json().get('tag')
        tag = Tag.query.filter_by(id=data.get('id')).first()
        tag.name = data.get('name')
        updata = tag.updata()
        if updata.get('status'):
            tagData = Tag.query.all()
            tags = []
            for i in tagData:
                tags.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify({
                'status': "success",
                "message": ' 修改成功!',
                'data': tags
            })
        else:
            tagData = Tag.query.all()
            tags = []
            for i in tagData:
                tags.append({'id': i.id, 'name': i.name})
            return jsonify({
                'status': "error",
                "message": str(updata.get('message')),
                'data': tags
            })
    elif request.method == "DELETE":
        id = request.get_json().get('id')
        tag = Tag.query.filter_by(id=id).first()
        delete = tag.delete()
        if delete.get('status'):
            tagData = Tag.query.all()
            tags = []
            for i in tagData:
                tags.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify({
                'status': "success",
                "message": ' 修改成功!',
                'data': tags
            })
        else:
            return jsonify({
                'status': "error",
                "message": str(delete.get('message'))
            })
Ejemplo n.º 4
0
def blog_write():
    if request.method == 'POST':
        data = request.get_json()
        title = data.get('title')
        slug = data.get('slug')
        tags = data.get('tags')
        post_type = data.get('category')
        text = data.get('text')
        url_en = data.get("enUrl")
        user_id = session.get('user_id')
        image_url = data.get("img")
        template = data.get("template")
        article = Article(title=title,
                          slug=slug,
                          user_id=user_id,
                          url_en=url_en,
                          image_url=image_url,
                          text=text,
                          template=template)
        for i in tags:
            blogTag = Tag().query.filter(Tag.name == i).first()
            if blogTag:
                article.tags.append(blogTag)
                db.session.add(blogTag)
            else:
                blogTag = Tag(name=i)
                article.tags.append(blogTag)
                db.session.add(blogTag)
        blogCategory = Category().query.filter(
            Category.name == post_type).first()
        if blogCategory:
            article.category.append(blogCategory)
            db.session.add(blogCategory)
        else:
            blogCategory = Category(name=post_type)
            article.category.append(blogCategory)
            db.session.add(blogCategory)
        save = article.save()
        if save.get('status'):
            cache.clear()
            return jsonify({'status': "success", 'message': '文章修改成功'})
        else:
            return jsonify({
                'status': "error",
                'message': str(save.get('message'))
            })
    else:
        return render_template("blog-write.html", **locals())
Ejemplo n.º 5
0
def blog_comment():
    if request.method == "GET":
        return render_template("blog-comment.html", **locals())
    elif request.method == "POST":
        comments = Comment.query.all()
        data = []
        for comment in comments:
            data.append({
                "created": str(comment.created),
                "id": comment.id,
                "web_site": comment.web_site,
                "text": comment.text,
                "guest_email": comment.guest_email,
                "guest_name": comment.guest_name,
                "post_id": comment.post_id,
                "uuid": comment.uuid
            })
        return jsonify(data)

    elif request.method == "DELETE":
        deleted_list = request.get_json()
        status = {"success": 0, "error": 0}
        print(deleted_list.get("delete_list"))
        for data in deleted_list.get("delete_list"):

            comment = Comment.query.filter(
                Comment.id == data.get("id")).first()
            delete = comment.delete()
            if delete.get('status'):
                status["success"] += 1
            else:
                status["error"] += 1
        comments = Comment.query.all()
        data = []
        for comment in comments:
            data.append({
                "created": str(comment.created),
                "id": comment.id,
                "web_site": comment.web_site,
                "text": comment.text,
                "guest_email": comment.guest_email,
                "guest_name": comment.guest_name,
                "post_id": comment.post_id,
                "uuid": comment.uuid
            })
        cache.clear()
        return jsonify({"data": data, "status": status})
Ejemplo n.º 6
0
def blog_delete():
    if request.method == "GET":
        return redirect(url_for("admin.blog_list"))
    else:
        data = request.get_json()
        if len(data["article"]) != 0:
            for article_id in data["article"]:
                content = Article.query.filter(
                    Article.id == article_id).first()
                delete = content.delete()
                if delete.get('status'):
                    print("ok")
            content_list = Article.query.all()
            data_list = []
            for data in content_list:
                data_list.append(data.to_json())
            cache.clear()
            return jsonify(data_list)
        return jsonify({"ok": "ok"})
Ejemplo n.º 7
0
def blog_category_handle():
    if request.method == "GET":
        categoryData = Category.query.all()
        categorys = []
        for i in categoryData:
            categorys.append({'id': i.id, 'name': i.name})
        return jsonify(categorys)
    elif request.method == "POST":
        category = Category(name=request.get_json().get('category'))
        save = category.save()
        if save.get('status'):
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify(categorys)
        else:
            return jsonify({'message': str(save.get('message'))})
    elif request.method == "PUT":
        data = request.get_json().get('category')
        category = Category.query.filter_by(id=data.get('id')).first()
        category.name = data.get('name')
        updata = category.updata()
        if updata.get('status'):
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify({'status': "success",
                            "message": ' 修改成功!', 'data': categorys})
        else:
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            return jsonify({'status': "error",
                            "message": str(updata.get('message')), 'data': categorys})
    elif request.method == "DELETE":
        id = request.get_json().get('id')
        category = Category.query.filter_by(id=id).first()
        delete = category.delete()
        if delete.get('status'):
            categoryData = Category.query.all()
            categorys = []
            for i in categoryData:
                categorys.append({'id': i.id, 'name': i.name})
            cache.clear()
            return jsonify({'status': "success",
                            "message": ' 修改成功!', 'data': categorys})
    return jsonify({'status': "error",
                    "message": str(delete.get('message'))})
Ejemplo n.º 8
0
def py_link_handle():
    if request.method == 'GET':
        py_links = PyLink.query.all()
        data = []
        for i in py_links:
            data.append(i.to_json())
        return jsonify(data)
    elif request.method == 'POST':
        blog_data = request.get_json()
        py = PyLink(name=blog_data.get('name'),
                    link=blog_data.get('link'),
                    avatar=blog_data.get('avatar'),
                    brief=blog_data.get('brief'))
        save = py.save()
        if save.get('status'):
            py_links = PyLink.query.all()
            data = []
            for i in py_links:
                data.append(i.to_json())
                cache.clear()
            return jsonify({'data': data, 'message': 'success'})
        else:
            return jsonify({'message': str(save.get('message'))})
    elif request.method == "PUT":
        blog_data = request.get_json()
        py = PyLink.query.filter(PyLink.id == blog_data.get('id')).first()
        py.name = blog_data.get('name')
        py.link = blog_data.get('link')
        py.avatar = blog_data.get('avatar')
        py.brief = blog_data.get('brief')
        updata = py.updata()
        if updata.get('status'):
            py_links = PyLink.query.all()
            data = []
            for i in py_links:
                data.append(i.to_json())
            cache.clear()
            return jsonify({"data": data, 'message': 'success'})
        else:
            return jsonify({'message': str(updata.get('message'))})
    elif request.method == "DELETE":
        blog_data = request.get_json()
        py = PyLink.query.filter(PyLink.id == blog_data.get('id')).first()
        delete = py.delete()
        if delete.get('status'):
            py_links = PyLink.query.all()
            data = []
            for i in py_links:
                data.append(i.to_json())
            cache.clear()
            return jsonify({'data': data, 'message': 'success'})
        else:
            return jsonify({'message': str(delete.get('message'))})
Ejemplo n.º 9
0
def blog_modify(url):
    if request.method == "GET":
        url = url
        return render_template("blog-modify.html", **locals())
    elif request.method == 'PUT':
        data = request.get_json()
        title = data.get('title')
        slug = data.get('slug')
        tags = data.get('tags')
        post_type = data.get('category')
        text = data.get('text')
        url_en = data.get("enUrl")
        image_url = data.get("img")
        template = data.get("template")
        content = Article.query.filter_by(id=url).first()
        for tag in content.tags:
            content.tags.remove(tag)
        for category in content.category:
            content.category.remove(category)
        for i in tags:
            blogTag = Tag().query.filter(Tag.name == i).first()
            if blogTag:
                content.tags.append(blogTag)
                db.session.add(blogTag)
                print(blogTag)
            else:
                blogTag = Tag(name=i)
                content.tags.append(blogTag)
                db.session.add(blogTag)
        blogCategory = Category().query.filter(Category.name == post_type).first()
        if blogCategory:
            content.category.append(blogCategory)
            db.session.add(blogCategory)
        else:
            blogCategory = Category(name=post_type)
            content.category.append(blogCategory)
            db.session.add(blogCategory)
        content.title = title
        content.slug = slug
        content.text = text
        content.url_en = url_en
        content.image_url = image_url
        content.template = template
        updata = content.updata()
        if updata.get('status'):
            cache.clear()
            return jsonify({'status': "success",
                            "message": ' 修改成功!'})

        else:
            return jsonify({'status': "error",
                            "message": str(updata.get('message'))})

    elif request.method == "POST":
        content = Article.query.filter(
            Article.id == url).first()
        tags = []

        for tag in content.tags:
            tags.append(tag.name)
        category = content.category[0].name
        articleData = content.to_json()
        articleData['tags'] = tags
        articleData['category'] = category
        return jsonify(articleData)