mirror of
https://github.com/cqwu-ehall/cqwu-ehall.git
synced 2024-11-21 18:38:18 +00:00
40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
from typing import List, Dict
|
|
|
|
from pydantic import BaseModel
|
|
|
|
|
|
class AiCourse(BaseModel):
|
|
name: str # 课程名称
|
|
position: str # 上课地点
|
|
teacher: str # 上课老师
|
|
weeks: List[int] # 上课周数
|
|
day: int # 星期
|
|
start_num: int # 开始节数
|
|
sections: int # 连上节数
|
|
|
|
@property
|
|
def key(self):
|
|
return f"{','.join([str(i) for i in self.weeks])}_{self.day}_{self.start_num}"
|
|
|
|
@property
|
|
def second_key(self):
|
|
return f"{self.day}_{self.sections}"
|
|
|
|
@property
|
|
def ai(self) -> Dict:
|
|
return {
|
|
"name": self.name,
|
|
"position": self.position,
|
|
"teacher": self.teacher,
|
|
"weeks": ",".join(list(map(str, self.weeks))),
|
|
"day": self.day,
|
|
"style": "",
|
|
"sections": ",".join(
|
|
list(
|
|
map(
|
|
str, list(range(self.start_num, self.start_num + self.sections))
|
|
)
|
|
)
|
|
),
|
|
}
|