ustc jwxt api, for study only
Project description
ustcjwxt-python-lib
ustc jwxt api, for study only
Installation
pip install ustcjwxt
Structure
- log
实现了一个简单的日志系统 - request_info
记录了一些 requests 需要使用的信息 - session
可以登录到教务系统,并提供 StudentSession 类,用于存储登录信息 - score
可以获取学生的成绩
当前功能: 获取成绩列表,计算 GPA / 加权平均分 / 算术平均分 - course_select
可以进行选课 / 退课操作
Usage
simple sample
from ustcjwxt import log
from ustcjwxt.session import StudentSession
from ustcjwxt.score import *
log.set_logger_level('DEBUG')
# login
s = StudentSession()
s.login_with_password(sys.argv[1], sys.argv[2])
print(s.get_cookies())
# get basic info
print(s.get_student_info())
with open('avatar.jpg', 'wb') as f:
f.write(s.get_student_avatar())
# get score
gradeList = get_gradeList_all(s)
print(grade_calcGpa(gradeList))
print(grade_calcWeightedScore(gradeList))
print(grade_calcArithmeticScore(gradeList))
course operation sample
import sys
from ustcjwxt import log
from ustcjwxt.session import StudentSession
from ustcjwxt.course_select import *
s = StudentSession()
s.login_with_password(sys.argv[1], sys.argv[2])
# 退课: IS4001.01
result = drop_Lesson(s, 'IS4001.01')
if result['success']:
print('课程已退')
else:
print(f'课程未退成功 (报错信息:{result["errorMessage"]["textZh"]})')
# 选课: IS4001.01
if check_courseAvailable(s, 'IS4001.01'):
print('课程可选')
result = add_Lesson(s, 'IS4001.01')
if result['success']:
print('课程已选中')
else:
print(f'课程未选中 (报错信息:{result["errorMessage"]["textZh"]})')
else:
print('课程不可选 (人员已满)')
课程交易
import sys, time
from ustcjwxt.session import StudentSession
from ustcjwxt.course_select import *
courseCode = 'IS4001.01'
s_give = StudentSession()
s_give.login_with_password('PB********', '********')
s_get = StudentSession()
s_get.login_with_password('PB********', '********')
# 预加载数据,减小延迟
load_cache(s_give)
load_cache(s_get)
time.sleep(1)
drop_Lesson(s_give, courseCode, delay_ms=0)
add_Lesson(s_get, courseCode, delay_ms=0)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ustcjwxt-0.1.0.tar.gz
(10.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
ustcjwxt-0.1.0-py3-none-any.whl
(11.1 kB
view details)
File details
Details for the file ustcjwxt-0.1.0.tar.gz.
File metadata
- Download URL: ustcjwxt-0.1.0.tar.gz
- Upload date:
- Size: 10.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f238cd188b7e43f69f5cb8c187332d5ea16ff4d55b4ad84d18c339f55d00994b
|
|
| MD5 |
c668811f140a9ccf475e8b1fc0c16b6f
|
|
| BLAKE2b-256 |
0081219a793c60388b9cd832f853bff9c24cce4877d3f0284c417cd820f05b9f
|
File details
Details for the file ustcjwxt-0.1.0-py3-none-any.whl.
File metadata
- Download URL: ustcjwxt-0.1.0-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0950bc20b9580dde5e0507fd57f2fce4bfa8a4a3b430c05ba12ad2e2688211ab
|
|
| MD5 |
21a4ae0abb686215429b29f1f4264058
|
|
| BLAKE2b-256 |
70becddfa4a7400c757f7bf5bbebd5db656fc4d71aea77c8b27c11ae99276b89
|