Optimized code

This commit is contained in:
NianBroken
2024-07-26 23:02:23 +08:00 Unverified
parent 91e353c901
commit b2ee1c9ea8
4 changed files with 109 additions and 85 deletions
+20 -7
View File
@@ -4,27 +4,40 @@ import re
from scripts.ad import get_advertise
# 定义函数send_message,用于发送消息
def send_message(token, title, content):
# 推送消息的url,格式化字符串以包含token
url = f"https://push.showdoc.com.cn/server/api/push/{token}"
# 调用get_advertise函数获取广告内容
advertise = get_advertise()
# 如果广告内容不为空,则将广告内容添加到消息内容前
content = f"{advertise}{content}" if advertise else content
# 定义正则表达式模式,用于匹配包含“教学班ID”的行
pattern = re.compile(r"^.*教学班ID.*$\n?", re.MULTILINE)
# 使用正则表达式替换匹配的行为空字符串,并去除前后的空白字符
content = re.sub(pattern, "", content).strip()
# 定义一个字典,用于存储需要替换的字符串及其对应的替换值
replacements = {
"------": "\n------\n",
"个人信息:": "<h1>个人信息</h1>\n",
"成绩信息:": "<h1>成绩信息</h1>\n",
"未公布成绩的课程:": "<h1>未公布成绩的课程</h1>\n",
"工作流信息:": "<h1>工作流信息</h1>\n",
"Copyright © 2024 NianBroken. All rights reserved.": "Copyright © 2024 <a href='https://www.nianbroken.top/' target='_blank'>NianBroken</a>. All rights reserved.",
"------": "\n------\n", # 替换多连字符为换行后的连字符
"个人信息:": "<h1>个人信息</h1>\n", # 替换“个人信息:”为HTML标题标签
"成绩信息:": "<h1>成绩信息</h1>\n", # 替换“成绩信息:”为HTML标题标签
"未公布成绩的课程:": "<h1>未公布成绩的课程</h1>\n", # 替换“未公布成绩的课程:”为HTML标题标签
"工作流信息:": "<h1>工作流信息</h1>\n", # 替换“工作流信息:”为HTML标题标签
"Copyright © 2024 NianBroken. All rights reserved.": "Copyright © 2024 <a href='https://www.nianbroken.top/' target='_blank'>NianBroken</a>. All rights reserved.", # 替换版权信息为带有超链接的HTML
}
# 遍历字典中的所有键值对,进行替换操作
for old, new in replacements.items():
content = content.replace(old, new)
# 创建一个字典,包含标题和内容
data = {"title": title, "content": content}
# 将字典转换为JSON字符串,并编码为UTF-8
body = json.dumps(data).encode(encoding="utf-8")
# 定义HTTP请求头,设置内容类型为JSON
headers = {"Content-Type": "application/json"}
# 发送POST请求,携带JSON数据和请求头
response = requests.post(url, data=body, headers=headers)
# 解析 JSON 数据
# 解析响应的JSON数据,转换为字典
response_dict = json.loads(response.text)
# 返回响应字典
return response_dict