解析教学信息服务网页面,生成.ics
文件(可导入Outlook、Google Calendar等多种日历服务)
目前使用网页作为前端(Vue.js & Element UI);欢迎贡献其他前端!
使用中遇到问题,或有意见或建议,可在Issue中提出。
对于Windows用户,可以直接在Release页面
下载程序包,解压后双击lesson2cal.exe
即可启动。注意,Release版本可能不会包括最新的功能。
如手动安装,请确保已安装Python 3.4或以上版本,且pip
可用。下载本项目文件后执行以下语句安装依赖:
pip install -r requirements.txt
运行./server.py
,浏览器将自动打开页面,默认地址为http://localhost:5000/
。
输入相关信息后,如果顺利,页面将生成一output.ics
文件。
该文件为文本文件,在导入之前,如有需要可进行编辑。
一个事件的形式如下:
BEGIN:VEVENT
SUMMARY:事件名称
DTSTART:20180910T080000
DTEND:20180910T094000
RRULE:FREQ=WEEKLY;INTERVAL=1;COUNT=16
END:VEVENT
SUMMARY
为事件的标题,DTSTART
、DTEND
分别为首次事件开始、结束的日期与时间;
另有LOCATION
、DESCRIPTION
字段可选添加;
RRULE
控制事件的重复,可借助RRULE Tool生成。
目前提供两个一个可配置项。
关于地点显示:
课程名称@地点
(默认):地点显示在标题中,与超级课程表风格类似,对Outlook的Android Widget友好;地点独立显示
:地点出现在专用的LOCATION
字段中,但是Outlook的Android Widget不显示;关于备注的处理:已经废弃,用户界面接口尚未删除
采用cx_Freeze
进行打包。这个包不在requirements.txt
中,如有需求请安装cx-freeze
。
python3 setup.py build
,产物在build/
中lesson2cal.exe
所在目录中直接运行bdist_dmg
命令生成dmg文件,但是路径和程序的生命周期不可控所以不可用manager
)、未作CSRF防御,故仅供本地使用,不宜用作公网服务;存在解析错误的可能性,具体课表请以ElectSys为准。任何错误引起的不良后果,开发者恕不承担。