Tags: elonzh/hfut
Tags
2.2.1 (20161127) ++++++++++++++++ **功能和改进** - 现在所有接口 ``parse`` 方法改为静态函数, 现在可以无需实例化便可解析响应了 **问题修复** - 修复由于 Python 默认值陷阱导致 ``interface.BaseInterface`` 下的 ``send_kwarg`` , ``sextra_kwargs`` 在未被重新声明时所有子类公用同一个对象的问题 - 有了全局非法字符检查后, 去除了 ``interface.EvaluateCourse`` 冗余的检查过程 - 修复了 ``interface.BaseInterface`` 中的文档错误 **接口变动** - 由于所有接口 ``parse`` 方法改为静态函数, ``interface.SetTelephone.parse`` 由原来返回值为是否修改成功改为直接返回修改后的结果(可能没变), 但 ``shortcut.Student#set_telephone`` 的行为是没有变的
2.2.0 (20161125) ++++++++++++++++ **功能和改进** - 添加了请求参数校验功能, 避免因为错误的参数使 IP 被封, 通过设置 ``value.ENV['REQUEST_ARGUMENTS_CHECK']`` 开启或关闭, 默认是开启的, 同时注意它只检查发往教务系统地址的请求 - ``util.sort_hosts`` 重构为通用的测速函数, 现在配置请求的路径及其他请求参数, 同时现在必须显式地提供 ``hosts`` 参数 **问题修复** - 修复 ``interface.GetClassStudents`` 班级名称匹配的遗漏, 调整了学生信息匹配的正则 - 修复了 ``examples/hfut_img.py`` **其他杂项** - 更新了文档 - 完善测试用例
2.1.0 (20161121) ++++++++++++++++ **功能和改进** - 添加了 ``parser.GlobalFeaturedSoup`` , 能够通过配置 ``value.ENV['SOUP_FEATURES']`` 属性来全局配置解析器, 目前在 ``html.parser`` 与 ``lxml`` 下进行了测试 - 添加了 ``log.report_response`` 用来生成响应报告 - 添加了 ``shortcut.BaseShortcuts.request`` , 用来分离接口的请求与解析 - 有关请求的日志记录以及会话类更加友好 **问题修复** - 修复 Python2 中对 Unicode 匹配不完整的问题 **接口变动** - 原先使用 ``bs4.BeautifulSoup`` 解析的接口统一改为 ``parser.GlobalFeaturedSoup`` 子类 - ``HTML_PARSER`` 重命名为 ``SOUP_FEATURES`` - ``value`` 模块中的值全部添加到 ENV 字典中使其可变动 - ``interface.GetClassStudents`` 不再因未匹配到班级名称或学期报错 - ``util.rank_host_speed`` 重构为 ``util.sort_hosts`` , 不再接受主机 ip 参数, 改为主机 地址参数, 同时不再删除错误请求地址, 而是统一将返回时间设为 INFINITY(10000000ms) **其他杂项** - 添加了使用 ``lxml`` 作为解析器的测试, 完善了其他一些测试细节
2.1.0 (20161121) ++++++++++++++++ **功能和改进** - 添加了 ``parser.GlobalFeaturedSoup`` , 能够通过配置 ``value.ENV['SOUP_FEATURES']`` 属性来全局配置解析器, 目前在 ``html.parser`` 与 ``lxml`` 下进行了测试 - 添加了 ``log.report_response`` 用来生成响应报告 - 添加了 ``shortcut.BaseShortcuts.request`` , 用来分离接口的请求与解析 - 有关请求的日志记录以及会话类更加友好 **问题修复** - 修复 Python2 中对 Unicode 匹配不完整的问题 **接口变动** - 原先使用 ``bs4.BeautifulSoup`` 解析的接口统一改为 ``parser.GlobalFeaturedSoup`` 子类 - ``HTML_PARSER`` 重命名为 ``SOUP_FEATURES`` - ``value`` 模块中的值全部添加到 ENV 字典中使其可变动 - ``interface.GetClassStudents`` 不再因未匹配到班级名称或学期报错 - ``util.rank_host_speed`` 重构为 ``util.sort_hosts`` , 不再接受主机 ip 参数, 改为主机 地址参数, 同时不再删除错误请求地址, 而是统一将返回时间设为 INFINITY(10000000ms) **其他杂项** - 添加了使用 ``lxml`` 作为解析器的测试, 完善了其他一些测试细节
1.4.3 (20160829) ++++++++++++++++ **问题修复** - 修复 ``model.StudentSession#get_selectable_courses`` 由于 ``multiprocessing.dummy.Pool`` 在 Python 2.7 下不支持 with 语句导致的错误 **其他杂项** - 修正了 ``model.StudentSession#change_course`` 中的文档错误 - 改进了测试脚本, 修复由于测试脚本没有判断程序结束状态码导致有时测试失败结果没有捕捉到的问题
1.4.2 (20160828) ++++++++++++++++ **功能和改进** - 优化了 ``model.StudentSession#get_selectable_courses`` 多线程操作 **问题修复** - 修复了 ``model.StudentSession#get_selectable_courses`` 由于之前版本返回值的行为改变造成的错误 - 修复了 ``model.StudentSession#change_course`` 由于之前版本返回值的行为改变造成的错误 **行为改变** - ``model.GuestSession#get_system_state`` -> ``model.GuestSession#get_system_status`` (拼写错误这么久竟然没发现= =) - 去除了 ``log.unstable``
1.4.1 (20160812) ++++++++++++++++ **行为改变** - 将当接口没有解析出结果时返回的 None 值改为相应的空的容器 **问题修复** - fixme: 返回数据结构表达式定义不清淅 - 修复 :meth:`hfut.model.GuestSession#get_class_info` 返回结果中的 ``备注`` 字段名中包含空格的错误 - 修复 :meth:`model.GuestSession#get_class_students` 班级名称正则表达式匹配不完全导致的错误 - 修复 :meth:`model.GuestSession#get_class_students` 在教学班没有学生时触发错误的问题
PreviousNext