fix some errors from glitchtip

This commit is contained in:
Benny
2023-04-26 19:44:28 +02:00
parent 88f3b35902
commit 1e0921d11a
6 changed files with 36 additions and 29 deletions

View File

@@ -8,7 +8,7 @@ pymongo==4.3.3
tornado==6.3.1
captcha==0.4
passlib==1.7.4
fakeredis==2.11.0
fakeredis==2.11.1
filetype==1.2.0
requests[socks]
tqdm==4.65.0

View File

@@ -34,3 +34,23 @@ class OAuthRegister(Mongo):
"message": "第三方登录成功,即将跳转首页",
"username": username,
}
class GitHubOAuth2Login(OAuthRegister):
pass
class MSOAuth2Login:
pass
class GoogleOAuth2Login:
pass
class TwitterOAuth2Login:
pass
class FacebookAuth2Login:
pass

View File

@@ -27,9 +27,7 @@ class Like(Mongo):
def add_remove_fav(self, resource_id: int, username: str) -> dict:
returned = {"status_code": 0, "message": ""}
like_list: list = (
self.db["users"].find_one({"username": username}).get("like", [])
)
like_list: list = self.db["users"].find_one({"username": username}).get("like", [])
if resource_id in like_list:
returned["status_code"] = HTTPStatus.OK
returned["message"] = "已取消收藏"
@@ -136,9 +134,7 @@ class User(Mongo, Redis):
valid_data[field] = data[field]
email_regex = r"@gmail\.com|@outlook\.com|@qq\.com|@163\.com"
if valid_data.get("email") and not re.findall(
email_regex, valid_data.get("email"), re.IGNORECASE
):
if valid_data.get("email") and not re.findall(email_regex, valid_data.get("email"), re.IGNORECASE):
return {
"status_code": HTTPStatus.BAD_REQUEST,
"status": False,
@@ -159,10 +155,7 @@ class User(Mongo, Redis):
valid_data["email"] = {"verified": False, "address": user_email}
# send email confirm
subject = "[人人影视下载分享站] 请验证你的邮箱"
text = (
f"请输入如下验证码完成你的邮箱认证。验证码有效期为24小时。<br>"
f"如果您未有此请求,请忽略此邮件。<br><br>验证码: {verify_code}"
)
text = f"请输入如下验证码完成你的邮箱认证。验证码有效期为24小时。<br>" f"如果您未有此请求,请忽略此邮件。<br><br>验证码: {verify_code}"
context = {"username": username, "text": text}
send_mail(user_email, subject, context)
# 发送成功才设置缓存
@@ -180,9 +173,7 @@ class User(Mongo, Redis):
class UserAvatar(User, Mongo):
def add_avatar(self, username, avatar):
self.db["users"].update_one(
{"username": username}, {"$set": {"avatar": avatar}}
)
self.db["users"].update_one({"username": username}, {"$set": {"avatar": avatar}})
return {"status_code": HTTPStatus.CREATED, "message": "头像上传成功"}
@@ -215,9 +206,7 @@ class UserEmail(Mongo):
if correct_code == code:
r.expire(email, 0)
r.expire(f"timeout-{email}", 0)
self.db["users"].update_one(
{"username": username}, {"$set": {"email.verified": True}}
)
self.db["users"].update_one({"username": username}, {"$set": {"email.verified": True}})
return {
"status": True,
"status_code": HTTPStatus.CREATED,

View File

@@ -19,14 +19,14 @@ class CommentHandler(BaseHandler):
def hide_phone(data: list):
for item in data:
if item["username"].isdigit() and len(item["username"]) == 11:
item["username"] = re.sub(
r"(\d{3})\d{4}(\d{4})", r"\g<1>****\g<2>", item["username"]
)
item["username"] = re.sub(r"(\d{3})\d{4}(\d{4})", r"\g<1>****\g<2>", item["username"])
return data
@run_on_executor()
def get_comment(self):
resource_id = int(self.get_argument("resource_id", "0"))
query_id = self.get_argument("resource_id", "0")
resource_id = int(query_id) if query_id.isdigit() else 0
size = int(self.get_argument("size", "5"))
page = int(self.get_argument("page", "1"))
inner_size = int(self.get_argument("inner_size", "3"))

View File

@@ -19,7 +19,9 @@ class DoubanHandler(BaseHandler):
def douban_data(self):
rid = self.get_query_argument("resource_id")
data = self.instance.get_douban_data(int(rid))
data.pop("posterData")
data.pop("posterData", None)
if not data:
self.set_status(HTTPStatus.NOT_FOUND)
return data
def get_image(self) -> bytes:
@@ -52,14 +54,10 @@ class DoubanReportHandler(BaseHandler):
captcha_id = data["id"]
content = data["content"]
resource_id = data["resource_id"]
returned = self.instance.report_error(
user_captcha, captcha_id, content, resource_id
)
returned = self.instance.report_error(user_captcha, captcha_id, content, resource_id)
status_code = returned.get("status_code", HTTPStatus.CREATED)
self.set_status(status_code)
return self.instance.report_error(
user_captcha, captcha_id, content, resource_id
)
return self.instance.report_error(user_captcha, captcha_id, content, resource_id)
@gen.coroutine
def post(self):

View File

@@ -20,7 +20,7 @@ class MetricsHandler(BaseHandler):
@run_on_executor()
def set_metrics(self):
payload = self.json
metrics_type = payload["type"]
metrics_type = payload.get("type", self.get_query_argument("type", "unknown"))
self.instance.set_metrics(metrics_type)
self.set_status(HTTPStatus.CREATED)