如何在 pre-commit-config.yaml 中使用 pyproject.toml 中的配置

问题描述 投票:0回答:1

我有一个Python存储库,其中有一个pyproject.toml和一个pre-commit-config.yaml

pyproject.toml 看起来像这样

[tool.poetry]
name = "projectname"
description = "My project's description"
authors = ["My Name <[email protected]>"]
version = "0.1.0"

现在我想使用 pyproject.toml 中的名称字段,而不是在我的预提交配置中的以下自定义挂钩中

  - repo: local
    hooks:
      - id: check-for-utility-imports
        name: check-for-utility-imports
        entry: ^from <PROJECT-NAME-COMES-HERE>.utility.* import
        files: ^<PROJECT-NAME-COMES-HERE>/contracts/.*.py$
        language: pygrep
        types: [ python ]

有什么办法可以做到这一点吗?

python pre-commit-hook pre-commit pre-commit.com pyproject.toml
1个回答
0
投票

预提交配置本身是完全静态的,没有替代。我怀疑你试图过度干燥,你最好只使用内联名称。

也就是说,您可以编写一个自定义脚本来执行您想要的操作(读取 toml 文件,搜索文件中的特定字符串)

请注意,您的正则表达式中也有一个微错误,您应该转义

.
否则它会在
projectname_utilities

上出现误报

免责声明:我写了预提交

© www.soinside.com 2019 - 2024. All rights reserved.