跳转到主要内容

检查文件中的链接

项目描述

pytest-check-links

pytest插件,用于检查包含HTML的文件的URL。

Tests PyPI version PyPI - Python Version

支持的文件

  • .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 (20.5 kB 查看哈希值)

上传时间

构建分发

pytest_check_links-0.10.1-py3-none-any.whl (11.9 kB 查看哈希值)

上传时间 Python 3

支持者