检查文件中的链接
项目描述
pytest-check-links
pytest插件,用于检查包含HTML的文件的URL。
支持的文件
.html
.rst
.md
(待定:选择渲染器).ipynb
(需要nbconvert
)
安装
pip install pytest-check-links
使用
pytest --check-links mynotebook.ipynb
配置
--links-ext
默认值:
md,rst,html,ipynb
要检查的扩展名列表,用逗号分隔
--check-anchors
同时检查带有 #anchors
HTML 文件(无论是本地文件,还是以 Content-Type
中的 html
提供的)是否实际存在,并且指向 正好一个 命名锚点。
--check-links-ignore
匹配不应检查的 URI 的正则表达式。可以指定多次以指定多个忽略模式。这可以用于链接到 GitHub 页面的大量文件,例如变更日志。GitHub 有速率限制,这通常会导致这些文件在大型存储库中花费长达一小时的时间来完成。例如
pytest --check-links --check-links-ignore "https://github.com/.*/pull/.*" CHANGELOG.md
缓存
缓存需要安装 requests-cache
。
pip install requests-cache
如果启用,无论链接在要检查的文件集合中出现的次数多少,都会检查每个链接的出现。
--check-links-cache
检查链接时缓存请求。默认情况下禁用缓存,并且即使提供了其他缓存配置选项,也必须提供此选项。
--check-links-cache-name
默认:
.pytest-check-links-cache
链接缓存的名称,可以是文件的基名或类似名称,具体取决于后端。
--check-links-cache-backend
默认:
sqlite3
缓存持久化后端。其他已知后端包括
内存
redis
mongodb
有关更多信息,请参阅 requests-cache 文档。
--check-links-cache-expire-after
默认:
None
(无限期)
缓存链接响应的时间(秒)。
--check-links-cache-backend-opt
链接缓存的特定后端选项,提供为 key:value
。这些直接传递给 requests_cache.CachedSession
构造函数,因为它们取决于后端。
值将首先解析为 JSON,因此要覆盖默认的缓存所有 HTTP 响应代码(这需要一个整数列表),
--check-links-backend-opt allowable_codes:[200]
代码样式
pytest-check-links
已采用自动代码格式化,因此您不必过多担心代码样式。只要您的代码有效,pre-commit 钩子就会负责其外观。您可以在任何时候手动调用 pre-commit 钩子,如下所示
pre-commit run
这将运行您的代码上的任何自动格式化,并告诉您它无法自动修复的错误。您还可以将 black 集成 安装到您的文本编辑器中以自动格式化代码。
如果您在设置 pre-commit install
钩子之前已提交文件,则可以使用 pre-commit run --all-files
修复一切。之后,您需要亲自完成修复提交。
默认情况下,一些钩子仅在 CI 上运行,但您可以通过运行带有 --hook-stage manual
参数来调用它们。
待办事项
- 选择一个 markdown 渲染器(可能是 commonmark)或使 markdown 渲染器可插拔
- 验证链接的选项(允许绝对链接,仅远程或本地等)
- 在 Python 文档字符串中查找 URL
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。
源分发
构建分发
pytest_check_links-0.10.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7358dd92c8e6c737c8749ec87f5a27c32390445d43182673f89247a1a34d776d |
|
MD5 | 7cd5ff737c94f4e01ef4698097291901 |
|
BLAKE2b-256 | 0cc2b7f226b8e3cfb8f301e04631027f7dc2b4c6f3a6f953de7b86a43a521c9d |
pytest_check_links-0.10.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0e4a4313d08d6c5b81a72e133fd8513a3bb0b89d54dec3565da7ae01b74f603e |
|
MD5 | 0c3dd2af83d97ed896d80faabf8ebe91 |
|
BLAKE2b-256 | 760af5850afa7c544360fad5aefbc4ae5ec38e8f4eb5499501702beb2dcc896a |