Ejemplo n.º 1
0
def get_document_by_docid():
    helper = document_controller.document_controller()
    # user_name = request.cookies.get("user_name")
    # token = request.cookies.get("token")
    # if user_name != None and token != None:
    if request.method == "GET":
        doc_id = str(request.args.get("doc_id"))
        # host = str(request.args.get("host"))
        result = helper.filter_document_by_docid(doc_id=doc_id)
        return jsonify(
            {
                "code": "20000401",
                "message": "获取文档详情成功",
                "result": {
                    "doc_id": result[0]["doc_id"],
                    "title": result[0]["title"],
                    "author": result[0]["author"],
                    "class_name": result[0]["class_name"],
                    "host": result[0]["host"],
                    "data": result[0]["data"],
                    "doc_type": result[0]["doc_type"],
                    "is_published": result[0]["is_published"],
                    "page_view": result[0]["page_view"],
                    "comment_count": result[0]["comment_count"],
                    "create_time": result[0]["create_time"].strftime("%Y-%m-%d %H:%M:%S"),
                }
            }
        )
Ejemplo n.º 2
0
def get_public_documnet():
    if request.method == "GET":
        user_c = document_controller.document_controller()
        info = user_c.get_public_document()
        files = []
        if info.count() > 0:
            for file in info:
                files.append(
                    {
                        "doc_id": file["doc_id"],
                        "title": file["title"],
                        "author": file["author"],
                        "host": file["host"],
                        "class_name": file["class_name"],
                        "doc_type": file["doc_type"],
                        "is_published": file["is_published"],
                        "data": file["data"],
                        "update_time": file["update_time"].strftime("%Y-%m-%d %H:%M:%S")
                    }
                )

        return jsonify(
            {
                "code": "20000401",
                "message": "获取文档信息成功",
                "result": files
            }
        )
Ejemplo n.º 3
0
def search_class_info():
    helper = document_controller.document_controller()
    if request.method == "POST":
        class_info = helper.list_local_class()
        data = request.get_data()
        json_data = json.loads(data)
        offset = json_data['offset']
        page_index = json_data['pageIndex']
        begin_index = int(offset) * (int(page_index) - 1)
        end_index = int(offset) * (int(page_index))
        finale_list = class_info[begin_index:end_index]
        result = []
        count_result = len(class_info)
        if count_result == 0:
            result = []
        else:
            for info in finale_list:
                result.append({
                    "class_name": info.class_name,
                    "author": info.author,
                    "host": info.host,
                    "update_time": info.update_time,
                    "is_published": info.is_published
                })
        return jsonify(
            {
                "reuslt": result,
                "total": count_result,
                "offset": int(offset),
                "pageTotal": math.ceil(int(count_result) / int(offset))
            }
        )
Ejemplo n.º 4
0
def get_public_classes(offset, page_index):
    helper = document_controller.document_controller()
    class_info = helper.list_public_class()
    result = []
    count_class = len(class_info)
    if len(class_info) == 0:
        result = []
    else:
        begin_index = int(offset) * (int(page_index) - 1)
        end_index = int(offset) * (int(page_index))
        finale_list = class_info[begin_index:end_index]
        # print(finale_list)
        if len(finale_list) > 0:
            for info in finale_list:
                result.append({
                    "class_name": info.class_name,
                    "author": info.author,
                    "host": info.host,
                    "explain": info.explain,
                    "is_published": info.is_published,
                    "create_time": info.create_time.strftime("%Y-%m-%d %H:%M:%S"),
                    "update_time": info.update_time.strftime("%Y-%m-%d %H:%M:%S")
                })
    return {
        "result": result,
        "total": count_class
    }
Ejemplo n.º 5
0
def down_load_count_add():
    helper = document_controller.document_controller()
    author = request.cookies.get("user_name")
    if request.method == "POST":
        doc_id = request.form.get("doc_id")
        user = author
        if str(user) == '' or str(user) == '游客' or str(user) == None:
            result = {
                "code": 20000999,
                "message": "请先登录,在下载"

            }
        else:
            helper.download_add(doc_id=doc_id)
            result = {
                "code": 20000900,
                "message": "下载成功"

            }
        return jsonify(
            {
                "code": result["code"],
                "message": result["message"]
            }
        )
Ejemplo n.º 6
0
def do_classes():
    helper = document_controller.document_controller()
    if request.method == "GET":
        user_name = request.cookies.get("user_name")
        # token = request.cookies.get("token")
        offset = int(request.args.get("offset"))
        page_index = int(request.args.get("pageIndex"))
        if user_name == None or user_name == '游客':
            result = get_public_classes(offset, page_index)
        else:
            result = get_all_classes(offset, page_index)
        return jsonify(
            {
                "result": result["result"],
                "total": result["total"]
            }
        )
    elif request.method == "POST":
        # data = request.get_data()
        # json_data = json.loads(data)
        author = request.cookies.get("user_name")
        # author = request.form.get("author")
        class_name = request.form.get('name')
        host = document_controller.host_controller().get_local_host_ip()

        is_published = request.form.get('is_published')
        explain = request.form.get('explain')
        print(class_name, host, author, is_published, explain)
        result = helper.add_local_class(
            class_name=class_name,
            host=host,
            author=author,
            is_published=is_published,
            explain=explain
        )
        return jsonify(
            {
                "code": result["code"],
                "message": result["message"]
            }
        )
    elif request.method == "DELETE":
        data = request.get_data()
        json_data = json.loads(data)
        class_name = json_data['name']
        author = request.cookies.get("user_name")
        # author = json_data['author']
        result = helper.delete_local_class(class_name=class_name, author=author)
        return jsonify(
            {
                "code": result["code"],
                "message": result["message"]
            }
        )
Ejemplo n.º 7
0
def get_all_class_name():
    helper = document_controller.document_controller()
    class_info = helper.list_local_class()
    result = []
    for info in class_info:
        result.append({"value": info.class_name, "label": info.class_name})
    return jsonify(
        {
            "result": result
        }
    )
Ejemplo n.º 8
0
def get_my_classes(offset, page_index,user_name):
    helper = document_controller.document_controller()
    if request.method == "GET":
        class_info = helper.list_my_class(user_name)
        result = []
        count_result = len(class_info)
        if count_result == 0:
            result = []
        else:
            begin_index = int(offset) * (int(page_index) - 1)
            end_index = int(offset) * (int(page_index))
            finale_list = class_info[begin_index:end_index]
            for info in finale_list:
                result.append({
                    "class_name": info.class_name,
                    "author": info.author,
                    "host": info.host,
                    "update_time": info.update_time.strftime("%Y-%m-%d %H:%M:%S"),
                    "is_published": info.is_published
                })
        return {
            "result": result,
            "total": count_result
        }
Ejemplo n.º 9
0
def do_documents():
    # cookie 待前端发布后修改
    user_name = "admin"
    token = "123"
    # user_name = request.cookies.get("user_name")
    # token = request.cookies.get("token")
    if user_name == None or token == None:
        if request.method == "GET":
            offset = int(request.args.get("offset"))
            page_index = int(request.args.get("pageIndex"))
            class_name = str(request.args.get("class_name"))
            result = get_documents(offset=offset, page_index=page_index,
                                   is_published=1, class_name=class_name)

            return jsonify(
                {
                    "code": "20000401",
                    "message": "获取所有文档信息成功",
                    "result": result["result"],
                    "total": result["total"]
                }
            )
        if request.method == "POST":
            return jsonify(
                {
                    "code": "20000499",
                    "message": "新增公用文档信息失败,TOKEN不存在",
                }
            )
    else:
        if request.method == "GET":
            offset = int(request.args.get("offset"))
            page_index = int(request.args.get("pageIndex"))
            class_name = str(request.args.get("class_name"))
            result = filter_document_by_class_name_no_public(offset=offset,
                                                             page_index=page_index,
                                                             class_name=class_name,
                                                             author=user_name
                                                             )
            # result = get_documents(offset=offset, page_index=page_index, is_published=0)
            return jsonify(
                {
                    "code": "20000401",
                    "message": "获取公用文档信息成功",
                    "result": result["result"],
                    "total": result["total"]
                }
            )
        elif request.method == "POST":
            # data = request.get_data()
            # json_data = json.loads(data)
            title = request.form.get('name')
            author = user_name
            # author = request.form.get('author')
            class_name = request.form.get('class_name')
            host = document_controller.host_controller().get_local_host_ip()
            # host = json_data['host']
            data = request.form.get('opinions')
            doc_type = request.form.get('doc_type')
            is_published = request.form.get('is_published')
            user_c = document_controller.document_controller()
            result = user_c.add_local_document(
                title=title,
                author=author,
                class_name=class_name,
                host=host,
                data=data,
                doc_type=doc_type,
                is_published=is_published,
            )
            return jsonify(
                {
                    "code": result["code"],
                    "message": result["message"]
                }
            )
Ejemplo n.º 10
0
def filter_document_by_name(offset, page_index, doc_name, author):
    helper = document_controller.document_controller()
    grid_helper = document_controller.gridfs_controller()
    comment_helper = document_controller.comment_controller()
    if request.method == "GET":
        document_info = helper.filter_document_by_docname(doc_name=doc_name, author=author)
        file_infos = grid_helper.filter_file_like_name(file_name=doc_name, author=author)
        result = []
        count_of_files = len(file_infos)
        print(count_of_files)
        count_of_documents = len(document_info)
        print(count_of_documents)
        if count_of_documents > 0:
            for info in document_info:
                comment_count = comment_helper.count_of_comments(doc_id=info["doc_id"])
                pub = ""
                doc_type = ""
                if info["is_published"] == 1:
                    pub = "是"
                else:
                    pub = "否"
                if info["doc_type"] == "1":
                    doc_type = "在线文档"
                result.append({
                    "doc_id": info["doc_id"],
                    "title": info["title"],
                    "author": info["author"],
                    "host": info["host"],
                    "class_name": info["class_name"],
                    "doc_type": doc_type,
                    "is_published": pub,
                    "comment_count": comment_count,
                    "page_view": info["page_view"],
                    "download": info["download"],
                    "data": info["data"],
                    "update_time": info["update_time"].strftime("%Y-%m-%d %H:%M:%S")
                })
        if count_of_files > 0:
            for info in file_infos:
                comment_count = comment_helper.count_of_comments(doc_id=info["file_id"])
                result.append({
                    "doc_id": info["file_id"],
                    "title": info["file_name"],
                    "author": info["author"],
                    "host": info["url"],
                    "class_name": info["class_name"],
                    "doc_type": info["file_type"],
                    "is_published": info["is_published"],
                    "comment_count": comment_count,
                    "page_view": 0,
                    "download": info["download"],
                    "data": info['remark'],
                    "update_time": info["uploadDate"].strftime("%Y-%m-%d %H:%M:%S")
                })
        all_count = count_of_files + count_of_documents
        begin_index = int(offset) * (int(page_index) - 1)
        end_index = int(offset) * (int(page_index))
        final_result = result[begin_index:end_index]
        return {
            "result": final_result,
            "total": all_count
        }
Ejemplo n.º 11
0
 def wrapper(*args, **kwargs):
     doc_id = str(request.args.get("doc_id"))
     helper = document_controller.document_controller()
     helper.page_view_add(doc_id)
     ret = func(*args, **kwargs)  # 被装饰函数
     return ret