Jianshuresearchtools

Latest version: v2.11.0

Safety actively analyzes 623775 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

2.10.1

错误修复:

- 修复 objects 模块中部分函数不可用的问题
- 修复贝壳小岛接口变动导致获取交易单失败的问题

代码规范:

- 修复一些注释与代码不匹配的问题,删减非必要的括号

依赖变动:

- 不再限定开发依赖版本,同时在开发依赖中加入代码格式化工具 yapf

2.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` 文件中所有依赖库的版本

测试用例:

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

2.9.0

功能变动:

- **现在,所有生成器函数都会返回 Dict,编写批量获取代码时不再需要嵌套循环。这是一个不兼容的修改,请在升级 JRT 版本时确保相关代码一并更改,否则将导致异常。**
- **大部分函数增加了 `disable_check` 参数,允许用户禁用参数有效性检查以提升性能。**

性能优化:

- **对批量获取数据的函数进行了优化,只进行一次参数有效性检查,这将大幅度提高相关函数的性能。**
- **对 `jrt.objects` 中的参数获取进行了优化,大幅度提升性能。**

测试用例:

- 更新测试用例,修复了几个会导致测试失败的数据问题。

2.8.0

功能变动:

- **新增函数 `GetUserTimelineInfo` ,用于获取用户动态列表信息**
- 新增函数 `GetUserAllTimelineInfo`,用于获取用户全部动态列表信息

2.7.0

依赖变动:

- Html 解析库 `lxml` 的目标版本由 `4.6.3` 变为 `4.7.1`,**该更新修复了一个由于 lxml 内部实现产生的危险代码执行问题,如果您没有计划将 JRT 升级到 v2.7.0 版本,强烈建议您手动运行 `pip install lxml --upgrade` 进行升级**
- 网络请求库 `httpx` 的目标版本由 `0.19.0` 变为 `0.21.1`
- **现在,您在通过 `pip` 安装 JRT 时,可以通过指定附加包一并安装可选模块**
- `pip install JianshuResearchTools[md-convert]` 将一并安装 Markdown 转换库 `tomd`
- `pip install JianshuResearchTools[high-perf]` 将一并安装高性能 Json 解析库 `ujson`
- `pip install JianshuResearchTools[full]` 将安装全部可选模块

功能变动:

- `AssertString`、`AssertInt`、`AssertFloat`三个函数已经从存储库中移除,请使用 `AssertType` 函数判断变量类型
- 重写了 `object` 模块中所有类的 `__str__` 方法
- 请求文集数据前,将校验文集状态

错误修复:

- 修复 `collection` 模块中获取推荐作者信息函数重复返回第一页数据的问题

性能优化:

- 移除了一些无用的导入

代码规范:

- **规范代码格式,全面遵守 PEP8 规范**

文档变更:

- **重写所有文档**

开发环境:

- 引入 `pipenv` 作为虚拟环境,您可以使用 `pipenv install` 命令在虚拟环境中安装运行 JRT 所需的所有依赖库(包括可选依赖),或使用 `pipenv install --dev` 安装进行 JRT 开发与测试需要的所有依赖库
- 支持直接通过运行 `test_all.py` 文件进行单元测试

2.6.0

依赖变动:

- 网络请求库由 `requests` 更换为 `httpx`
- 可选 Json 解析库由 `simplejson` 更换为 `ujson`

功能变动:

- `basic_apis` 模块中增加获取用户动态的接口
- 增加对专题和小岛链接有效性的校验函数
- 增加 `AssertType` 函数,用于实现类型检查
- `AssertString`、`AssertInt`、`AssertFloat` 三个函数已进入弃用阶段,将在下个版本中移除,请尽快修改您的代码

性能优化:

- 优化了断言函数的逻辑,小幅提升性能
- 字符串格式化方式改为 f-string,小幅提升性能
- 提升了获取文章内容(纯文本和 Markdown)的性能

错误修复:

- 修复获取用户性别时,性别值为 3 会报错的问题
- 修复一个导致在 Python 3.6 版本中运行报错的问题

代码规范:

- 规范泛型的类型注释
- 规范生成器函数的类型注解与注释
- 规范 List 和 Dict 的类型注解
- 规范字符串判空写法

测试:

- 重写测试,逻辑与用例分离

Page 1 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.