Optimize code structure to improve code readability and maintainability.
This commit is contained in:
@@ -36,12 +36,6 @@
|
||||
6. 显示未公布成绩的课程,即已选课但尚未出成绩的课程。
|
||||
7. 显示异常的课程,即已出成绩但用户未选课的课程。
|
||||
|
||||
## 未来的计划
|
||||
|
||||
1. 重写[详细使用方法](https://github.com/NianBroken/ZFCheckScores/blob/main/DetailedUsage.md "详细使用方法")。
|
||||
2. 增加显示学分,如 当前学分:54 / 280。
|
||||
3. 代码重构。
|
||||
|
||||
## 使用方法
|
||||
|
||||
### 1. [Fork](https://github.com/NianBroken/ZFCheckScores/fork "Fork") 本仓库
|
||||
|
||||
+5
-2
@@ -1,8 +1,10 @@
|
||||
def get_grade(student_client, output_type="none"):
|
||||
# 获取成绩信息
|
||||
grade_data = student_client.get_grade("").get("data", {})
|
||||
grade_data = student_client.get_grade().get("data", {})
|
||||
grade = grade_data.get("courses", [])
|
||||
|
||||
# 成绩不为空时
|
||||
if grade:
|
||||
# 遍历 grade 中的每个字典,将 title 中的中文括号替换为英文括号
|
||||
for course_data_grade in grade:
|
||||
course_data_grade["title"] = (
|
||||
@@ -20,7 +22,8 @@ def get_grade(student_client, output_type="none"):
|
||||
|
||||
# (百分制成绩*学分)的总和
|
||||
sum_of_percentage_grades_multiplied_by_credits = sum(
|
||||
float(course["percentage_grades"]) * float(course["credit"]) for course in grade
|
||||
float(course["percentage_grades"]) * float(course["credit"])
|
||||
for course in grade
|
||||
)
|
||||
|
||||
# GPA计算 (学分*绩点)的总和/学分总和
|
||||
|
||||
+4
-2
@@ -14,10 +14,10 @@ def get_info(student_client, output_type="none"):
|
||||
)
|
||||
|
||||
grade = get_grade(student_client, output_type="grade")
|
||||
gpa = get_grade(student_client, output_type="gpa")
|
||||
percentage_gpa = get_grade(student_client, output_type="percentage_gpa")
|
||||
|
||||
if grade:
|
||||
gpa = get_grade(student_client, output_type="gpa")
|
||||
percentage_gpa = get_grade(student_client, output_type="percentage_gpa")
|
||||
# 整合个人信息
|
||||
gpa_info = f"\n当前GPA:{gpa}\n" f"当前百分制GPA:{percentage_gpa}\n" f"------"
|
||||
integrated_info = f"{info}{gpa_info}"
|
||||
@@ -28,3 +28,5 @@ def get_info(student_client, output_type="none"):
|
||||
return integrated_info
|
||||
else:
|
||||
return "获取个人信息:参数缺失"
|
||||
else:
|
||||
return info
|
||||
|
||||
@@ -2,7 +2,6 @@ from get_grade import get_grade
|
||||
|
||||
|
||||
def get_selected_courses(student_client):
|
||||
|
||||
# 获取成绩信息
|
||||
grade = get_grade(student_client, output_type="grade")
|
||||
|
||||
@@ -18,13 +17,13 @@ def get_selected_courses(student_client):
|
||||
abnormal_courses_by_semester = {}
|
||||
|
||||
# 获取成绩列表中的class_id集合
|
||||
grade_class_ids = {course["class_id"] for course in grade}
|
||||
grade_class_ids = {course["class_id"] for course in grade} if grade else ""
|
||||
|
||||
# 初始化输出内容
|
||||
selected_courses_filtering = ""
|
||||
|
||||
# 遍历selected_courses和grade中的每个课程
|
||||
for course in selected_courses + grade:
|
||||
for course in selected_courses + (grade or []):
|
||||
# 获取课程的class_id和学年学期
|
||||
yearsemester_id = course["class_name"].split("(")[1].split(")")[0]
|
||||
year, semester, seq = yearsemester_id.split("-")
|
||||
|
||||
@@ -8,6 +8,7 @@ from get_info import get_info
|
||||
from get_grade import get_grade
|
||||
from get_selected_courses import get_selected_courses
|
||||
from pushplus import send_message
|
||||
from datetime import datetime
|
||||
|
||||
|
||||
# MD5加密
|
||||
@@ -47,6 +48,9 @@ run_count = 2
|
||||
# 初始化运行日志
|
||||
run_log = ""
|
||||
|
||||
# 当前时间
|
||||
current_time = "------\n" + datetime.now().strftime("%Y-%m-%d %H:%M:%S:%f")[:-3]
|
||||
|
||||
# 登录
|
||||
student_client = login(url, username, password)
|
||||
|
||||
@@ -98,6 +102,7 @@ for _ in range(run_count):
|
||||
with open(grade_file_path, "w") as grade_file:
|
||||
grade_file.truncate()
|
||||
|
||||
# 获取整合后的成绩信息
|
||||
integrated_grade_info = get_grade(
|
||||
student_client, output_type="integrated_grade_info"
|
||||
)
|
||||
@@ -155,7 +160,7 @@ integrated_send_info = (
|
||||
f"{integrated_info}\n"
|
||||
f"{integrated_grade_info}\n"
|
||||
f"{selected_courses_filtering}\n"
|
||||
f"{workflow_info}"
|
||||
f"{workflow_info if github_actions else current_time}"
|
||||
)
|
||||
|
||||
# 整合首次运行时需要使用到的所有信息
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
4400f1a0083a801243f628f53a270491
|
||||
048a6883262c441ad3095f05f2892187
|
||||
Reference in New Issue
Block a user