SUSTech_Tools
SUSTech_Tools copied to clipboard
添加 tis 平台的其他功能
仓库名称为 SUSTech_Tools,因此可以整理一下常用的工具,比如将 tis 平台的选课、查看成绩等接口以库的形式整合,然后,使用 click
等命令行交互相关的库制作命令行工具(只是一个幻想)。另外,可以使用 pipenv 或者 poetry 等工具管理虚拟环境与依赖。
可供参考的两个脚本:研究生分数查询及 GPA 计算、电费余量查询,这两个脚本的创作时间相差较大,因此风格不一致。不过,目前我还没有想好整合的形式,下面调用形式仅抛砖引玉。
from sustech import SUSTech # or `from sustech import CAS`
sustech = SUSTech.login(username=..., password=...)
sustech.tis.select(...) # 选课、退课等其他功能
print(sustech.tis.grades(is_undergraduate=True))
print(sustech.ehall.dfyl(195, 209))
如果以库的形式整合,那么就可以在文件夹中新建 __main__.py
文件,直接可以 python
加文件夹名即可启动。使用 click
的抛砖引玉如下,比如第一次可以输入账号密码,之后就缓存在本地。
λ python <文件夹名>
Usage: [OPTIONS] COMMAND [ARGS]...
Options:
--version Show the version and exit.
--help Show this message and exit.
Commands:
select 课程选择
grades 查询课程成绩
dfyl 查询电费余量
感谢建议和指导! 提到的整合方向很有参考价值,整合成库就是更宏大的理想了。
事实上这个名字只是防止查水表起的,不过也确实有添加其他API的想法,我自己并没有编写python库的经验,所以这方面还需要很多的学习。
这个仓库如果继续发展,可能会(当然这些都是美好的幻想):
- 只做选课,做优化和反审查
- 进化为命令行库,上传pypi
- 进化为图形化界面的TIS Lite
不论怎么说,添加新的接口都是很好的建议,现在也有其他同学在零星地整理API或者为常用工具写出很棒的插件。
我会在空闲时间慢慢实现这些新的方向,也非常欢迎大佬们提新的建议或者pr。