mirror of
https://github.com/Kakune55/ComiPy.git
synced 2025-05-07 02:39:26 +08:00
98 lines
2.5 KiB
Python
98 lines
2.5 KiB
Python
import time
|
|
import db.util as util
|
|
|
|
|
|
# 查找评论
|
|
def getById(id: str):
|
|
"通过id查找所有评论"
|
|
conn = util.getConn()
|
|
c = conn.cursor()
|
|
cursor = c.execute("SELECT * FROM Comments WHERE id = ?", (id,))
|
|
return cursor.fetchone()
|
|
|
|
# 查找评论
|
|
def listByBookid(id: str):
|
|
"通过bookid查找所有评论"
|
|
conn = util.getConn()
|
|
c = conn.cursor()
|
|
cursor = c.execute("SELECT * FROM Comments WHERE bookid = ? ORDER BY time desc", (id,))
|
|
out = []
|
|
for row in cursor:
|
|
out.append(row)
|
|
conn.close()
|
|
return out
|
|
|
|
|
|
# 获取综合评分
|
|
def getScore(bookid: str):
|
|
"获取综合评分 返回一个字典 字典有两个key like和dislike分别记录不同评论的个数"
|
|
conn = util.getConn()
|
|
c = conn.cursor()
|
|
cursor = c.execute("SELECT * FROM Comments WHERE bookid = ? ", (bookid,))
|
|
num={'like':0,'dislike':0}
|
|
for row in cursor:
|
|
if row[4] == "like":
|
|
num["like"]+=1
|
|
elif row[4] == "dislike":
|
|
num["dislike"]+=1
|
|
conn.close()
|
|
return num
|
|
|
|
|
|
# 查找评论
|
|
def searchByUid(uid: str):
|
|
"通过用户查找所有评论"
|
|
conn = util.getConn()
|
|
c = conn.cursor()
|
|
cursor = c.execute("SELECT * FROM Comments WHERE from_uid = ? ORDER BY time desc", (uid,))
|
|
out = []
|
|
for row in cursor:
|
|
out.append(row)
|
|
conn.close()
|
|
return out
|
|
|
|
|
|
# 查找评论
|
|
def searchByAll(uid: str,bookid:str):
|
|
"通过用户和BookID查找所有评论"
|
|
conn = util.getConn()
|
|
c = conn.cursor()
|
|
cursor = c.execute("SELECT * FROM Comments WHERE from_uid = ? AND bookid= ? ORDER BY time desc", (uid,bookid))
|
|
out = []
|
|
for row in cursor:
|
|
out.append(row)
|
|
conn.close()
|
|
return out
|
|
|
|
|
|
# 在数据库中添加一个新的文件记录
|
|
def new(bookid: str, from_uid: int, score: str, content=""):
|
|
"添加一条新评论 score字段可选值为[like,none,dislike] content字段非必填"
|
|
conn = util.getConn()
|
|
c = conn.cursor()
|
|
c.execute(
|
|
"""
|
|
INSERT INTO Comments
|
|
(time, bookid, from_uid, score, content)
|
|
VALUES
|
|
(?, ?, ?, ?,?);
|
|
""",
|
|
(int(time.time()), bookid, from_uid, score, content),
|
|
)
|
|
conn.commit()
|
|
conn.close()
|
|
return
|
|
|
|
# 查找评论
|
|
def remove(id:int)->bool:
|
|
"通过id删除评论"
|
|
conn = util.getConn()
|
|
c = conn.cursor()
|
|
c.execute("DELETE FROM Comments WHERE id = ?", (id,))
|
|
conn.commit()
|
|
changes = conn.total_changes
|
|
conn.close()
|
|
if changes == 0:
|
|
return False
|
|
return True
|