mirror of
https://github.com/Kakune55/ComiPy.git
synced 2025-05-06 18:29:26 +08:00
88 lines
2.6 KiB
Python
88 lines
2.6 KiB
Python
from flask import *
|
|
from flask import Blueprint
|
|
import time
|
|
import db.file, file , app_conf
|
|
|
|
page_bp = Blueprint("page_bp", __name__)
|
|
|
|
conf = app_conf.conf()
|
|
|
|
@page_bp.route("/overview/<page>")
|
|
def overview(page): # 概览
|
|
page = int(page)
|
|
if request.cookies.get("islogin") is None:
|
|
return redirect("/")
|
|
metaDataList = db.file.getMetadata((page - 1) * 20, page * 20)
|
|
for item in metaDataList:
|
|
item[2] = item[2][:-4] #去除文件扩展名
|
|
if page <= 3:
|
|
lastPageList = range(1, page)
|
|
else:
|
|
lastPageList = range(page - 3, page)
|
|
nextPageList = range(page + 1, page + 4)
|
|
return render_template(
|
|
"overview.html",
|
|
list=metaDataList,
|
|
lastPageList=lastPageList,
|
|
pagenow=page,
|
|
nextPageList=nextPageList,
|
|
)
|
|
|
|
|
|
@page_bp.route("/book/<bookid>")
|
|
def book(bookid): # 接口
|
|
if request.cookies.get("islogin") is None:
|
|
return abort(403)
|
|
data = db.file.searchByid(bookid)
|
|
if len(data) == 0:
|
|
return abort(404)
|
|
data[0] = list(data[0])
|
|
data[0][2] = data[0][2][0:-4] # 把文件扩展名去掉
|
|
local_time = time.localtime(float(data[0][4]))
|
|
|
|
return render_template(
|
|
"book.html",
|
|
id=bookid,
|
|
data=data,
|
|
time=time.strftime("%Y-%m-%d %H:%M:%S",local_time),
|
|
)
|
|
|
|
|
|
@page_bp.route("/view/<bookid>")
|
|
def view(bookid): # 接口
|
|
if request.cookies.get("islogin") is None:
|
|
return abort(403)
|
|
data = db.file.searchByid(bookid)
|
|
if len(data) == 0:
|
|
return abort(404)
|
|
return render_template("view.html", id=bookid, index=range(1, data[0][3]))
|
|
|
|
|
|
@page_bp.route("/upload", methods=["GET", "POST"]) # 文件上传
|
|
def upload_file():
|
|
if request.method == "GET":
|
|
return render_template("upload.html")
|
|
uploaded_file = request.files.getlist("files[]") # 获取上传的文件列表
|
|
for fileitem in uploaded_file:
|
|
if fileitem.filename != "":
|
|
fileitem.save(conf.get("file", "inputdir") + "/" + fileitem.filename)
|
|
file.auotLoadFile()
|
|
return redirect("/")
|
|
|
|
|
|
@page_bp.route("/", methods=["GET", "POST"])
|
|
def login(): # 登录页面
|
|
if request.method == "GET":
|
|
if request.cookies.get("islogin") is not None:
|
|
return redirect("/overview/1")
|
|
return render_template("login.html")
|
|
elif request.method == "POST":
|
|
if request.form["username"] == conf.get("user", "username") and request.form[
|
|
"password"
|
|
] == conf.get("user", "password"):
|
|
resp = make_response(redirect("/overview/1"))
|
|
resp.set_cookie("islogin", "True")
|
|
return resp
|
|
else:
|
|
return redirect("/")
|