Skip to main content

使用内联 RST 记录的 YAML 文件的 Linting/重新格式化工具

项目描述

构建状态 阅读文档 CII 最佳实践 代码覆盖率状态
版本 执照 Python 版本 开发状态 pypi 每月下载量

yaml4rst 是一个 linting/checking/reformatting 工具,用于使用内联 RST 记录的 YAML 文件,它与yaml2rst 齐头并进

编写它是为了帮助保持 DebOps 的 Ansible 角色中的defaults/main.yml文件是最新的,并帮助编写或包含新角色。DebOps 使用 Sphinx 生成 Ansible 角色文档,其中还包括默认角色变量。有关详细信息,请参阅debops/docs

用法

该程序的典型用例是改进 Ansible 角色的默认 YAML 文件。

推荐的方法是在角色的存储库中提交所有更改,然后运行:

yaml4rst -e 'ansible_full_role_name=ROLE_OWNER.ROLE_NAME' defaults/main.yml -i

从角色存储库的根目录。请务必将 ROLE_OWNER.ROLE_NAME替换为特定的 Ansible 角色名称。

这将检查并重新格式化defaults/main.yml文件。

现在,您可以使用您选择的差异/编辑工具检查重新格式化的文件,并修复yaml4rst可能发出的任何警告。

请参阅测试目录中的input_filesoutput_files以获取自动测试的输入和输出文件示例。

请注意,为了继续使用 yaml4rst 是在安装 yaml4rst 时从debops-optimize调用的,因此您可能想尝试debops-optimize

特征

检查:

  • 合理的变量命名空间

  • 未记录的变量

自动修复:

  • 不是折叠的 RST 部分

  • 未记录的变量(为用户添加 FIXME)

  • 非折叠的记录变量

  • 没有定义标题的 YAML 文档

  • 变量和节之间的间距

已知限制

  • 不处理具有隐式级别和缺少关闭折叠标记的折叠。

    状态:应该是可行的,但目前不需要也没有实施。引发NotImplementedError异常,导致 CLI 程序立即终止并出现错误并引用本节。

    作为解决方法,只需使用您最喜欢的编辑器去掉打开的折叠,因为 yaml4rst 无论如何都会为部分和变量添加缺失的折叠。请参阅Makefileprepare-real-data目标),其中使用这种变通方法进行集成测试。请注意,这并不完美,如debops.apt_install测试用例所示。

存储库

  • GitHub(带有问题跟踪器的主要存储库)

文档

作者

执照

GNU Affero 通用公共许可证 v3 (AGPL-3.0)

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

yaml4rst-0.1.6.tar.gz (135.4 kB 查看哈希

已上传 source

内置分布

yaml4rst-0.1.6-py3-none-any.whl (19.0 kB 查看哈希

已上传 any