Skip to content
This repository was archived by the owner on Dec 26, 2019. It is now read-only.

Reference

Chad Mai edited this page Mar 17, 2018 · 7 revisions

参考文档 (Reference)

Reference 用于开发时查阅相关细节。使用方法建议查看 Wiki 中相关章节。


目录


class uestc_eams.EAMSSession()

教务系统 Session,提供基本的登陆、登出和其他的接口。

  • Login(_username, _password)

    登陆 UESTC 教务系统。_username 为用户名,_password 为教务系统密码。

    认证成功返回 True,后则返回 False

  • Logout()

    登出教务系统。

  • (弃用)IsAuthResponse(_response)

    检查 _response 是否是认证请求。返回 Boolean 值。

  • Authenticate()

    重新认证。

    认证成功返回 True,后则返回 False

  • TryRequestOp(_url, _wrapped_op, ...)

    requests 库中 HTTP 请求方法的封装。用于请求教务系统后端,TryRequestOp 自动处理了在请求时可能出现的认证、Cookies 相关问题,外部过程无需关心,若这些问题无法被解决,会抛出异常。

    _url 指定了请求的 URL。 _wrapped_op 指定了请求的 HTTP 方法。目前只支持 GET 方法和 POST 方法,各对应的值为 uestc_eams.base.WrappedGetuestc_eams.base.WrappedPost

    其余的参数将会传入 requests 库中相关的 HTTP 请求方法。这些参数请参考 requests 库的文档。

  • Refresh()

    刷新接口状态。用于同步教务系统接口的状态变化。

    Refresh 被调用后,所有接口会重新生成。

  • Reset()

    初始化 Session 对象。

  • Logined

    bool 类型变量。表示是否已经成功登陆。

  • ElectCourse

    EAMSElectCourseSession 接口对象。包含各类选课平台的操作接口。请参考 EAMSElectCourseSession 相关内容。


class uestc_eams.elect_course.EAMSElectCourseSession(_cookiejar_ref_list, _session)

包含选课平台基础信息,由 EAMSSession 创建。

  • Opened

    bool 变量。表示选课平台是否开启。

  • Platform

    dict 对象。平台名称和对应接口的映射。接口是 ElectCoursePlatform 实例。


uestc_eams.Login(_username, _password)

登陆教务系统。_username 指定用户名,_password 指定密码。

若登陆成功,返回 EAMSSession 对象实例,否则返回 None。


class uestc_eams.elect_course.EAMSElectCourseSession.ElectCoursePlatform(_name, _url, _session)

选课平台接口。由 EAMSElectCourseSession 创建。_name 为平台名称,_url 为平台入口URL,_session 指定 EAMSSession 对象。

  • Counts

    dict 对象。存储了课程ID对应的课程容量。

    {
        'cross_limit': 跨院系选课人数上限,
        'current': 当前平台已选人数,
        'current_a': A平台已选人数,
        'current_b': B平台已选人数,
        'current_c': C平台已选人数,
        'limit': 人数上限
    }
  • Courses

    课程信息。

       [
          {
         	   'name' : 课程名称
         	   , 'id' : 课程ID
         	   , 'credits' : 学分
         	   , 'teachers' : 任课老师。(tuple 对象)
         	   , 'campus' : 校区
         	   , 'remark' : 备注
              , 'exam' : 考试时间
              , 'week_hour' : 周学时
              , 'type' : 课程性质
              , 'arrange' : (
              	{
                 		'day' :  星期X
                       , 'start' : 开始节数
                       , 'end' : 结束节数
                       , 'weeks' : ((起始周1, 结束周1), ...)
                       , 'room' : 教室
                   }
              )
         }
         , ...
       ]
  • ElectType

    选课类型。两种选课类型:权重抢课,各对应 uestc_eams.CASHuestc_eams.CATCH

  • ElectTypeString

    选课类型对应名称。可能的指为 'Cash' 或 'Catch'

  • Elected

    list 对象。保存了已选课程的ID。

  • Name

    平台名称。

  • URL

    平台对应URL。

  • Elect(_id, _op)

    选课操作。

    _id 指定课程ID。_op 指定操作类型,选课、退课对应 uestc_eams.ELECT, uestc_eams.CANCEL

    若操作成功,返回 (True, 结果描述),后则返回 (False, 结果描述)。

  • Refresh()

    重新加载接口信息。

  • GetCourseByID(_id)

    根据课程ID查找对应课程信息。格式参考 Courses 属性。