Releases: FHU-yezi/JKit
Releases · FHU-yezi/JKit
v3.0.0a6
v3.0.0a5
v3.0.0a4
v3.0.0a3
v3.0.0a2
v3.0.0a1
v2.11.0
功能变动:
- 贝壳小岛已于 2022 年 9 月 30 日关闭,该版本移除了贝壳小岛数据获取模块(
beikeisland
) - 现在 TCP 连接将被自动复用,以提升批量请求时的性能
- 现在所有请求将使用 HTTP/2 协议发送,以提升批量请求时的性能
- 全部时间相关数据现在均不再包含时区信息,您可在升级后从代码中安全移除
.replace(tzinfo=None)
语句 - 原始 API 封装优化
- 使用
Ruff
优化代码风格 - 使用
Pyright
增强类型安全 - 格式化代码
- 修改贡献指南中过时的示例
- 修改开源许可证年份
错误修复:
- 修复失败的测试用例
- 修复总资产排行榜将总资产数据作为简书钻数据返回的问题
GetAssetsRankData
函数的返回数据中新增assets
字段- 为保证向后兼容,
FP
字段在 v2 中暂不移除,其值与assets
字段相同。 - 若
GetAssetsRankData
函数的get_full
参数为 True,将获取真实的简书钻数据,并替换兼容用途的 FP 字段,简书贝(FTN)字段也将正确计算。
- 修复用户时间线信息解析错误
- [不兼容更改]
GetUserTimelineInfo
函数中operation_type
参数的可能取值comment_note
(评论文章)现已变更为comment_article
- [不兼容更改]
依赖变动:
- 迁移到 Poetry
- 新增依赖
h2
- 新增开发依赖
ruff
、pyright
、black
- 移除开发依赖
flake8
、mypy
、yapf
v2.10.1
v2.10.0
功能变动:
- 现在,对象在初始化时会对其有效性进行检查,并在检查不通过时抛出
InputError
(链接格式不合法)或ResourceError
(资源状态异常),因此对象的创建时间成本提高,目前不支持手动禁用检查 - 在
objects
模块中新增函数get_cache_items_count
、get_cache_status
、set_cache_status
和clear_cache
,用于对objects
模块的全局缓存进行操作 objects
模块中的DISABLE_CACHE
常量被重命名为_DISABLE_CACHE
,请使用objects.get_cache_status
函数获取缓存状态,objects.set_cache_status
设置缓存状态objects
模块中的每个对象都新增了from_url
和from_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
- 为避免依赖版本问题导致的异常,我们固定了
Pipfile
和setup.py
文件中所有依赖库的版本
测试用例:
- 更新部分测试用例
- 移除已废弃函数的测试代码