| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- from flask import flash, render_template, session, request, redirect, url_for, jsonify
- from admin.patentinfo import *
- from admin.paperinfo import *
- from admin.researchtopic import *
- from flask import current_app as app
- import os
- from hashlib import md5
- from pathlib import Path
- from datetime import datetime
- # 设置允许的文件格式
- ALLOWED_EXTENSIONS = set(['png', 'jpg', 'JPG', 'PNG', 'bmp'])
- # 判断文件格式
- def allowed_file (filename):
- return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
- # --------------------论文信息管理------------------------------#
- @app.route('/paperinfomanage')
- def paperinfomanage ():
- if 'username' in session:
- results = loadallpapers()
- return render_template('admin/a_paper_manage.html', results=results)
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- # 添加论文
- @app.route('/newpaperinfo')
- def newpaperinfo ():
- if 'username' in session:
- researchtopic = loadAllResearchTopic()
- return render_template('admin/a_paper_edit.html', researchtopic=researchtopic, paperinfo=None, status="add")
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- # 查看论文
- @app.route('/loadpaperinfoforedit/<pid>', methods=['POST', 'GET'])
- def loadpaperinfoforedit (pid):
- if 'username' in session:
- researchtopic = loadAllResearchTopic()
- paperinfo = loadPaperbyID(pid)
- return render_template('admin/a_paper_edit.html', researchtopic=researchtopic, paperinfo=paperinfo,
- status="edit")
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- # PaperID, RTID, PTitle, PAbstract, PImage, PContent, PubType, Publisher, Pages, PubDate, Authors, PubLink, ArxivLink, CodeLink, PubStatus, PStatus
- # 编辑论文信息
- @app.route('/editpaperinfo.do', methods=['POST'])
- def editpaperinfo ():
- if request.method == 'POST':
- status = request.form['lbl_status']
- rtid = request.form.get('txt_RTID')
- title = request.form['txt_PTitle']
- abstract = request.form['txt_PAbstract']
- pimage = request.form['txt_PImage']
- content = request.form['txt_PContent']
- pubtype = request.form['txt_PubType']
- publisher = request.form['txt_Publisher']
- pages = request.form['txt_Pages']
- pubyear = request.form['txt_PubYear']
- authors = request.form['txt_Authors']
- publink = request.form['txt_PubLink']
- arxivlink = request.form['txt_ArxivLink']
- codelink = request.form['txt_CodeLink']
- pubstatus = request.form.get('txt_PubStatus')
- pstatus = request.form.get('txt_PStatus')
- # print("摘要:"+abstract)
- # print("内容:"+ content)
- f = request.files['file_proimg']
- proimg = ""
- if (f != None and f.filename != ""):
- proimg = uploadimage(f)
- if proimg == "":
- proimg = pimage
- if (status == 'add'):
- data = [rtid, title, abstract, proimg, content, pubtype, publisher, pages, pubyear, authors, publink,
- arxivlink, codelink, pubstatus, pstatus]
- i, msg = add_paperinfo(data)
- if i > 0:
- flash('论文信息添加成功!')
- else:
- flash('论文信息添加失败!%s' % str(msg))
- elif (status == 'edit'):
- pid = request.form['lbl_PaperID']
- data = [rtid, title, abstract, proimg, content, pubtype, publisher, pages, pubyear, authors, publink,
- arxivlink, codelink, pubstatus, pstatus, pid]
- i, msg = update_paperinfo(data)
- if i > 0:
- flash('论文信息修改成功!')
- else:
- flash('论文信息修改失败!%s' % str(msg))
- return redirect(url_for('paperinfomanage'))
- def uploadimage (f):
- # f = request.files['file_proimg']
- if not (f and allowed_file(f.filename)):
- return "False" # jsonify({"error": 1001, "msg": """请检查上传的图片类型,仅限于png、PNG、jpg、JPG、bmp"})
- digest = md5(f.filename.encode("utf-8")).hexdigest()
- suffix = Path(f.filename).suffix
- images_name = datetime.now().strftime('%Y%m%d%H%M%S') + f'{digest}{suffix}'
- # images_name = datetime.now().strftime('%Y%m%d%H%M%S') + '11'
- file_path = os.path.join(app.config['UPLOAD_FOLDER_IMG_Paper'], images_name)
- f.save(file_path)
- return file_path # "Success" #jsonify(file_path)
- # 查看论文
- @app.route('/viewpaperinfo/<pid>', methods=['POST', 'GET'])
- def viewpaperinfo (pid):
- if 'username' in session:
- paperinfo = loadPaperwithRTNamebyID(pid)
- return render_template('admin/a_paper_view.html', paperinfo=paperinfo)
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- # 删除论文信息
- @app.route('/delpaperinfo/<pid>', methods=['POST'])
- def delpaperinfo (pid):
- i, msg = del_Paper(pid)
- if i > 0:
- flash('论文信息删除成功!')
- else:
- flash('论文信息删除失败!%s' % str(msg))
- return redirect(url_for('paperinfomanage'))
|