GhostFrankWu/SUSTech_Tools

添加 tis 平台的其他功能

Opened this issue · 1 comments

iydon commented

仓库名称为 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。