Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

添加 tis 平台的其他功能 #3

Open
iydon opened this issue Feb 15, 2022 · 1 comment
Open

添加 tis 平台的其他功能 #3

iydon opened this issue Feb 15, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@iydon
Copy link

iydon commented Feb 15, 2022

仓库名称为 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    查询电费余量
@GhostFrankWu GhostFrankWu added the enhancement New feature or request label Feb 15, 2022
@GhostFrankWu
Copy link
Owner

感谢建议和指导!
提到的整合方向很有参考价值,整合成库就是更宏大的理想了。

事实上这个名字只是防止查水表起的,不过也确实有添加其他API的想法,我自己并没有编写python库的经验,所以这方面还需要很多的学习。

这个仓库如果继续发展,可能会(当然这些都是美好的幻想):

  • 只做选课,做优化和反审查
  • 进化为命令行库,上传pypi
  • 进化为图形化界面的TIS Lite

不论怎么说,添加新的接口都是很好的建议,现在也有其他同学在零星地整理API或者为常用工具写出很棒的插件。

我会在空闲时间慢慢实现这些新的方向,也非常欢迎大佬们提新的建议或者pr。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants