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"), } } )
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 } )
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)) } )
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 }
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"] } )
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"] } )
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 } )
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 }
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"] } )
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 }
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