使用Python生成icalender格式的课表

learningman 3月 04, 2020

起因

我校有一个只能使用IE的上古教务系统,直接废掉了我能找到的所有轮子,不得不自己写一个

开源地址

CalenderGenerator

使用

如果你在19级的软件工程1班,也许你可以直接使用我生成好的文件。

webcal://ical.learningman.top/ical/course.ics

否则,你应该将priinfo.py.example重命名为priinfo.py,并在其中填入自己的账号密码。

程序运行完之后,你应当可以在根目录下找到output.ics文件

API

我将这个程序部署在了我的一台服务器上

接口: https://api.learningman.top/{account}/{password}
对应填入你的账号密码后,服务器将会返回一个含有课程信息的ics文件
不做SLA保证,建议运行程序自行生成

致谢

  1. 参考了 AC Bettercqut-lesson-timetable-to-calendar

  2. 使用了来自QZAPI的SDK

本文采用 CC BY-NC-SA 4.0 协议进行许可,在您遵循此协议的情况下,可以自由共享与演绎本文章。
本文链接:https://learningman.top/archives/246

  1. 半叶子说道:

    看到你的学习通python作业聚合,自己刚学python,请问该怎么部署到自己的服务器上(CentOS 7.7,宝塔)?,麻烦您了。

    1. learningman说道:

      宝塔不是自带一个python管理器吗,用那玩意儿装上venv就成,记得装上requirement
      网站的document root放到/html,然后把/ajax反代到python的端口,默认是5000,懒得写跨域,就这么先用着

  2. 半叶子说道:

    真抱歉,还是没成功。我有下面几个问题,太麻烦你了。
    python项目管理器中:框架选择哪一个 python、flask、django、sanic。启动方选择哪一个gunicorn、uwsgi、python。还有启动文件/文件夹是启动server.py还是其他。之后按照您说的将网站 document root 放到 / html里,之后的 / ajax 反代到 python 的端口通过站点管理中的反向代理可以吗?

    1. learningman说道:

      框架选python,启动方式python,启动server.py,记得用python3,这个在python2应该跑不起来
      其实你用https://work.learningman.top就行了,反正再过几天也该开学了,这玩意儿用不了多久
      或者稍微看一下server.py呗,我自我感觉我写的还是能看懂的)

发表评论

电子邮件地址不会被公开。 必填项已用*标注