An api provide for Sichuan University
Project description
scu-api
提供与四川大学相关的信息接口
Install
pip install scu-api
国内用户
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple scu-api
API Format
Api返回类型:API_Status
OK = 0
ERROR = 1
WARNING = 2
UNKNOWN = 3
通用Api返回类型:API_ReturnType
{
"status": API_Status,
"result": Any # API返回的有效内容,如果status不为OK,则返回内容为报错内容
}
使用示例:
_ = some_api_method()
_['status'] # 获取状态码(API_Status类型),同_.status
_['status'].value # 获取状态码对应的数字(int),同_.status.value
_['result'] # 获取API返回的有效内容,同_.result
_.is_ok() # 判断API返回状态是否正确(bool)
Usage
获取本科生用户U_Student
实例:
import scu_api
my_student = scu_api.get_u_student()
U_Student
内置方法(目前为止):
@abstractmethod
def set_baseinfo(self, stid: str, passwd: str, hashed: Optional[bool] = False) -> NoReturn:
'''
@brief 设置学生的基本信息,用于登陆
@param[in] stid(str) 学号
@param[in] passwd(str) 密码
@param[in] hashed(Optional[bool]) 密码是否已经过md5加密,默认False
'''
@abstractmethod
def session_valid(self) -> bool:
'''
@brief 返回网站会话是否有效,在有效的情况下才可以获取个人信息
如果session过期,则需要获取验证码重新登陆
@param[out] valid(bool) 网站会话是否有效
'''
@abstractmethod
def get_captcha(self, filepath: Optional[str] = None) -> API_ReturnType:
'''
@brief 获取验证码
@param[in] filepath(str) [可选的] 存储验证码图像的全路径,使用**.jpg**格式
@param[out] _(API_ReturnType)
{
'status': API_Status,
'result': str # 验证码的base64编码字符串
}
'''
@abstractmethod
def login(self, catpcha: str, remember_me: Optional[bool] = True) -> API_ReturnType:
'''
@brief 模拟登陆
@param[in] captcha(str) 通过get_captcha获取的验证码识别后的字符串
@param[in] remember_me(Optional[bool]) [可选的]是否开启两周内快速登录,默认True
@param[out] _(API_ReturnType)
{
'status': API_Status,
'result': None
}
'''
@session_valid_required
@abstractmethod
def get_student_name(self) -> API_ReturnType:
'''
@brief 获取学生姓名
@param[out] _(API_ReturnType)
{
'status': API_Status,
'result': str # 学生的姓名
}
'''
@session_valid_required
@abstractmethod
def get_student_pic(self, filepath: Optional[str] = None) -> API_ReturnType:
'''
@brief 获取学生照片
@param[in] filepath(Optinal[str]) [可选的]存储图片的全路径,使用**.jpg**格式
@param[out] _(API_ReturnType)
{
'status': API_Status,
'result': str # 学生照片的base64编码字符串
}
'''
@session_valid_required
@abstractmethod
def get_all_term_scores(self, pagesize: Optional[int] = -1) -> API_ReturnType:
'''
@brief 获取学生所有学期的成绩
@param[in] pagesize(Optional[int]) 最近多少门课的成绩,默认-1为取全部课成绩
@param[out] _(API_ReturnType)
{
'status': API_Status,
'result': dict # 教务处的学生成绩的原始json数据
}
'''
Example
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
scu-api-0.0.1a1.tar.gz
(7.3 kB
view hashes)
Built Distribution
scu_api-0.0.1a1-py3-none-any.whl
(20.4 kB
view hashes)
Close
Hashes for scu_api-0.0.1a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 920b33cf95a124372763ef056658bf7d0b2efaa9349a14500e1423d2c5ecd5a4 |
|
MD5 | 99170fe59369abe286890c7ca6f8f481 |
|
BLAKE2b-256 | 9a08f7622d4660354f38b877615f2e8ade7932dc100be9c1fd03c9cd71e12535 |