Ayugespidertools

Latest version: v3.10.1

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

Scan your dependencies

Page 7 of 10

1.1.5

更新内容

维护版本,此次更新不会对旧项目影响。

> bug 修复:

- 无

> 新功能添加:

- 无

> 部分场景优化及修改:

- 去除 `AyuFtyMysqlPipeline` 中每次 `cursor` 操作前都 `ping` 下确认连接。若觉得重要程度:可靠性 >> 效率损耗,可使用 `AyuTurboMysqlPipeline` (同步) 连接池或 `AyuTwistedMysqlPipeline`(异步) 连接池来提高可靠性。

- 更新测试方式,添加 `Makefile` 和 `tox` 配置,使得更容易管理和自动化测试。

> 只要配置好 `tests` 下 `VIT` 目录中的 `.conf` 即可方便地运行测试。以下方式皆可:

- 使用 `tox` 测试。
- 使用 `pytest` 测试。
- 使用 `make test` 测试。

- 修改 `version` 命令实现方式,改为使用官方 `toml` 来解析参数。

- 修改模板中 `.gitignore` 示例。

1.1.4

更新内容

维护版本,此次更新不会对旧项目影响。

> bug 修复:

- 无

> 新功能添加:

- 无

> 部分场景优化及修改:

- 项目代码优化:

- 解决项目中部分 `typo` 的问题。

- 优化 `DataItem` 的使用,不再需要一定传两个值。

diff
其实以下的几种方式都是可以的,看个人选择

之前的方式
demo_ = {
- "title": DataItem(key_value=title, notes="标题"),
+ "title": DataItem(title, "标题"),
}

现在的方式
demo_ = {
- "title": DataItem(title, "标题"),
+ "title": DataItem(title), 也可直接 "title": title, 但 dict 这种不要和 DataItem 混用。
}

1.1.3

更新内容

本次更新的新特性都可以在 [`DemoSpider`](https://github.com/shengchenyang/DemoSpider) 示例中查看。

> bug 修复:

- 解决上个版本变动 `ScrapyClassicItem` 类型导致 `DemoSpider` 示例中的 `demo_item_loader` 中使用 `add_value` 的场景报错的问题。

> 新功能添加:

- 增加 `ayugespidertools cli` 名称为 `ayuge`,指令输入友好。
- 简化了在 `spider` 中构建 `item` 结构的方法,使用 `DataItem` 来简化代码,更易于维护。
- 不会对旧版本中的 `item` 写法风格的运行有影响,但更推荐新版本写法。

> 部分场景优化及修改:

- 项目代码优化:
- 解决项目中部分 `fstring` 过长的问题。
- 模板优化
- 修改模板中 `basic.tmpl` 中的部分,以匹配最新版本中 `item` 的新特性。
- 优化模板中 `settings.py.tmpl` 中配置取值的方式,提高可读性。

1.1.2

更新内容

本次更新更多的是提升代码可读性和可维护性,在一些比较常用的部分,比如 `Item` 和数据库 `DataEnum` 等部分提升用户体验,使得在调试之前的开发阶段即可发现一些低级问题。

> bug 修复:

- 无

> 新功能添加:



> 部分场景优化及修改:

- 项目结构变动:

- 将复杂 `TypeVar` 放入 `common` 中的 `TypeVars` 统一管理。

- 修改模板中的 `.gitignore`,添加 `VIT` 文件夹

- 修改模板中 `DataEnum` 生成的示例,提高可读性的同时增加参数提示功能:

- python
from enum import Enum, unique
from ayugespidertools.common.TypeVars import TableTemplate

修改前
unique
class TableEnum(Enum):
"""
数据库表枚举信息示例,用于限制存储信息类的字段及值不允许重复和修改
"""

文章列表信息
article_list_table = {
"value": "article_info_list",
"notes": "项目列表信息",
"demand_code": "DemoSpider_article_list_table_demand_code",
}

修改后
unique
class TableEnum(Enum):
"""
数据库表枚举信息示例,用于限制存储信息类的字段及值不允许重复和修改
"""

demo_table = TableTemplate(
value="表名(eg: demo)",
notes="表注释信息(eg: 示例表信息)",
demand_code="需求表对应数据(eg: Demo_table_demand_code,此示例没有意义,需要自定义)",
)

如果项目中依赖其它表格,请按照上方示例进行增加或修改


- 同样,在使用本库中的所有的 `Item` 类型,包括 `ScrapyClassicItem` 也具有了参数提示的功能,提升体验。

- 更新对应的 `readthedocs` 文档

注:本次更新不影响旧版本开发的项目,同样支持旧版本的编码风格。

1.1.1

更新内容

无新功能添加,优化部分代码及结构。

> 部分场景优化及修改:

- 项目结构变动:
- 增加 `sphinx` 文档,更新对应开发依赖库。
- 添加代码检查的 `workflow`。
- 增加 `bug`, `feature` 的提交模板。
- 配置 `poetry` 镜像源,防止依赖安装管理时超时等错误。
- 优化打包大小。

1.1.0

更新内容

> 新功能添加:

- 开发场景下添加 `black` 和 `isort` 默认配置,统一本项目下的编码风格

> 部分场景优化:

- 将 [black format](https://black.readthedocs.io/en/stable/) 和 [isort](https://pycqa.github.io/isort/) 编码风格应用于当前项目所有文件。
- 在模板中增加项目一般需要的 `.gitignore`,`README.md`, `requirements.txt` 和 `pyproject.toml` 文件,并添加对应的默认配置信息。
- 项目结构变动,使得增加可读性和易扩展性,不影响之前项目使用,放心升级。

> bug 修复:

- 修复 `Mysql` 同步存储场景(即:使用 `AyuFtyMysqlPipeline` )下,在遇到 `1146` 和 `1406` 错误并解决时忘记重试插入,导致会丢失当前错误下的一条数据。
- 解决 `genspider` 命令生成 `basic` 脚本时出现的格式错误。

Page 7 of 10

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.