SZTU 强智教务系统课程表转换为 ics 日历
理论上使用强智教务系统的学校都可以用(改个请求链接就行
Qi 通过解析教务系统网页版来获取课表,支持多种上课时间的描述方式
目前已知的描述方式形如
1-18双周
8,10,12,14,16双周
1-7,8-18
1-18
6
Copyright (c) 2020 0xJacky
Github 地址:https://github.com/0xJacky/Qi
说明
- Qi 支持手动维护的放假、补课安排,配置信息在
holiday.py
目前支持2020年国庆及中秋节放假、补课安排,欢迎通过提交 PR 补充假期安排 - 学号及密码仅用于请求教务系统
- ics 文件导入 iOS 日历,请将 ics 通过邮件发送到 iOS 设备上,通过系统自带的邮件 App 可以直接将日历导入,建议在导入前新建一个新的日历分区
- macOS 用户可以直接导入 ics 文件
使用方法
- 复制一份
config-default.ini
为config.ini
- 进入
config.ini
配置教务系统学号及密码 - 执行
python3 main.py
即可生成本学期课表
日历效果



捷径
捷径真的tql



下节什么课:https://www.icloud.com/shortcuts/b0ad41cb9ee348008b243e9597934dd0
今天有什么课:https://www.icloud.com/shortcuts/2de06382f8294b5289426f9874247928
下节课在哪上:https://www.icloud.com/shortcuts/86aa4fcaf4d449df930b0dc0e3effac5
invalid literal for int() with base 10: ’17(‘
求救
@拉吉: 错误信息不全,不清楚呢,qi.jackyu.cn 能用?
@拉吉: v1.4.2 已修复
Traceback (most recent call last):
File “C:\Users\h1239\Documents\WeChat Files\wxid_0fv1mn877xxu22\FileStorage\File\2022-02\Qi-master(1)\Qi-master\qi-server\main.py”, line 10, in
sys.stdout = codecs.getwriter(“utf-8”)(sys.stdout.detach())
io.UnsupportedOperation: detach
这是什么问题!!!
求助!!!
@弱小: v1.4修复这个问题了
@Jacky: Project Qi 中点击获取课表然后显示:登录失败,请检查用户名密码
怎么办?
@弱小: 是sztu的同学吗,新教务登陆的进去吗
@Jacky: 是的,新教务可以登陆
@Jacky: 班级理论课表的解析是可以用的,获取ics日历不行
@弱小: 是在 qi.jackyu.cn 吗,ics日历获取不了有报什么错吗,我下学期没课,暂时测不了
@Jacky: 是的,它只显示了登陆失败,检查用户名密码。用main.py的话只是运行了一下,没有任何显示就退出了,没有发现有生成文件。
@弱小: 我的账号可以正常登录呀,如果是直接代码运行的话,看看最新版本 https://github.com/0xJacky/Qi
@Jacky: 我之前用的就是github上的代码,我再试试吧,谢谢你!
@弱小: main.py是服务端的,你要手动用cli.py,并提前配置账号密码
@Jacky: 嗯 前两天更新v1.4给大二和大三的测试过都可以登录,有问题再看看
@弱小: 那我一个大一的来的好像正好的样子哈哈
在用cil.py的时候重复 TimeouError: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
@弱小: 那就对了,现在不是我的锅,教务系统的DNS经常抽风,多试几次或者晚点再试就好了,老毛病了
@Jacky: 好的谢谢了!
@Jacky: 读了一下完整的代码后,我将auth3.py里的class Auth里面的ok=False改成ok=True之后,就可以成功生成了ics文件。
@弱小: 😂,虽然但是,self.ok 是为了判断是不是登录成功了…如果感兴趣的话不如解开 auth3.py 第54行的注释,看看报的错误是什么
@弱小: 好吧,感谢。我知道是什么问题了,用Cookie去实例化 Auth 对象之后忘记检查登录状态了,默认就返回了登录失败。
真不错