Skip to content

v2.10.0

Compare
Choose a tag to compare
@FHU-yezi FHU-yezi released this 01 Jun 05:36
· 28 commits to main since this release

功能变动:

  • 现在,对象在初始化时会对其有效性进行检查,并在检查不通过时抛出 InputError(链接格式不合法)或 ResourceError(资源状态异常),因此对象的创建时间成本提高,目前不支持手动禁用检查
  • objects 模块中新增函数 get_cache_items_countget_cache_statusset_cache_statusclear_cache,用于对 objects 模块的全局缓存进行操作
  • objects 模块中的 DISABLE_CACHE 常量被重命名为 _DISABLE_CACHE,请使用 objects.get_cache_status 函数获取缓存状态,objects.set_cache_status 设置缓存状态
  • objects 模块中的每个对象都新增了 from_urlfrom_slug 类方法,用于以特定方式构建资源对象
  • 优化了错误信息展示,现在大部分错误信息都会包含引起错误的资源 URL
  • 现在,assets_funcs.py 中所有关于链接有效性判断的函数均变为基于正则进行判断
  • 为所有模块加入 __all__ 变量,使用 from JianshuResearchTools.module_name import * 导入时,不再会导入无关的函数
  • 支持使用 objects.Article.markdown 获取 Markdown 格式的文章内容
  • 优化对象初始化逻辑
  • 内部模块 headers 中的变量 jianshu_request_header 更名为 api_request_header

错误修复:

  • 修复面向对象模块中缓存逻辑错误导致缓存跨对象生效的问题
  • 修复部分函数因参数顺序错误导致在某些情况下报错的问题
  • 修复测试用例中的 Type Hints 错误

性能优化:

  • 通过对正则表达式的优化,提升了 article.GetArticleHtml 函数的性能

代码重构:

  • 新增内部模块 utils,包含供包内共享的工具函数
  • 将面向对象模块中 __str__ 字符串的生成逻辑抽象成单独函数 utils.NameValueMappingToString
  • objects 模块中禁用检查调用函数的逻辑抽象成单独的函数 utils.CallWithoutCheck
  • 将对象初始化时判断传入参数是否合法的逻辑抽象成单独的函数 utils.OnlyOne

文档更改:

  • 更新 README.md 中的部分代码示例
  • objects.Article 类中关于获取文章内容的属性加入了风险提示
  • 规范了代码注释中 URL 的写法,为保证兼容性,函数名将延迟到下一个大版本中进行修改
  • utils.NameValueMappingToString 函数加入了注释

依赖变动:

  • 更新 usjon 到 v5.3.0 以修复 CVE-2021-45958 漏洞
  • Pipfile 中加入缺失的开发依赖 pyyaml==6.0.0
  • 为避免依赖版本问题导致的异常,我们固定了 Pipfilesetup.py 文件中所有依赖库的版本

测试用例:

  • 更新部分测试用例
  • 移除已废弃函数的测试代码