《JMU-json2ics》源码解读
作者:互联网
曾神在群里分享了一个开源项目 《JMU-json2ics》 。可以用我们学校的课表生成 ics日历 文件。
这个小项目引发了我的兴趣,遂决定阅读一遍源码,顺便复习下python语法。
第一部分:json文件结构解读
总体结构
课程信息主要保存在 ”adminclass“ 条录下
{
"studentTableVm": {
"id": 22471,
"name": "陈煜晗", //学生姓名
"code": "2020*****104",//学生学号
"grade": "2020", //年级
"department": "计算机工程学院", //学院
"major": "计算机科学与技术", //专业
"adminclass": "计算2014",//班级
"credits": 25.75, //学分
"totalRetakeCredits": 0, //已确认学分
"activities": [...], //!!!课程列表!!!。
"lessonSearchVms": [...],//下列不表。
"practiceLessonSearchVms": [...],
"arrangedLessonSearchVms":[...],
"timeTableLayout": {"id": 1...},
"courseTablePrintConfigs": [...],
"lessonNamePrint": false
}
}
课程信息 adminclass
以列表形式保存课程信息。
对于每一个课程,以字典形式保存基本信息
{
"lessonId": 62937, //课程代号?
"lessonCode": "D000607-0006",//课程编号
"lessonName": "21-22-01大学英语三级综合06", //课程班名称
"courseCode": "D000607",
"courseName": "大学英语 (3)", //课程名称
"weeksStr": "5~13(单)", //上课周次描述信息
"weekIndexes": [5, 7, 9, 11, 13],//上课周次
"room": "汉水0306",//教室
"building": "庄汉水楼",//教学楼
"campus": "主校区",//教学校区
"weekday": 1,//周几上课
"startUnit": 7,//第几节课开始
"endUnit": 8,//第几节课结束
"lessonRemark": null,//重修
"teachers": ["林瑞芳"],//授课教师
"courseType": null,//课程类型 默认?
"credits": 2.5,//学分
"periodInfo": {"total": 40...},//进阶信息,下表。
"stdCount": 66,//学生人数
"limitCount": 80,//限制人数
"tableShowAdminclass": [...],
"adminclassVms": [...],
"activityRoomTypeSign": null,
"activityRoomTimesOrUnits": null,
"taskPeopleNum": null
},
”periodInfo“ 是课程的进阶信息。 这里没有用到,仅作猜测,不保证正确性。
"periodInfo": {
"total": 40,
"weeks": 16,
"theory": 40,//课时
"theoryUnit": "HOUR",//课时单位
"requireTheory": 40,//要求课时
"practice": null, //实践课时
"practiceUnit": null,//实践课时单位
"requirePractice": null,//需要实践课时
"focusPractice": null,//需要实践课时单位
"focusPracticeUnit": null,
"dispersedPractice": null,
"test": null,//小测
"testUnit": null,//小测单位
"requireTest": null,//要求小测
"experiment": null,//实验课时
"experimentUnit": null,//实验课时单位
"requireExperiment": null,//要求实验课时
"machine": null,//机器
"machineUnit": null,//机器单位
"requireMachine": null,//需要机器单位 (上机?)
"design": null,//课程设计课时
"designUnit": null,//课程设计课时单位
"requireDesign": null,//要求课程设计课时
"periodsPerWeek": 0, //每周周期
"extra": null,//额外课时
"extraUnit": null,//额外课时单位
"requireExtra": null//要求额外课时
},
第二部分 :《JMU-json2ics》源码解读
待更。
标签:...,json2ics,课程,课时,JMU,单位,源码,40,null 来源: https://blog.csdn.net/qq_29541301/article/details/120463948