公共Python API

Flake8 3.0.0目前还没有一个公共的、稳定的Python API。

当它这样做时,它将位于 flake8.api 在这里记录下来。

传统API

什么时候? Flake8 打破了它对pycodestyle复杂内部结构的严格依赖,也失去了简单的向后兼容性。为了帮助API的现有用户 flake8.api.legacy . 这个模块包括一对类(下面有文档)和一个函数。

Flake8的开发人员观察到的主要用法是使用 get_style_guide() 函数然后调用 check_files() . 在较小程度上,人们似乎也在使用 get_statistics() 什么方法 check_files 返回。然后我们试图在这个模块中保留这个API。

让我们一起来看一段代码示例:

from flake8.api import legacy as flake8


style_guide = flake8.get_style_guide(ignore=['E24', 'W503'])
report = style_guide.check_files([...])
assert report.get_statistics('E') == [], 'Flake8 found violations'

这代表了所有现有Flake8 2.x集成的基本通用用法。我们发现的每个例子都有明显的不同,但这是一种要点,所以让我们来看看这个。

所有向后兼容的API都在 flake8.api.legacy 子模块。这是为了清楚地表明,旧的API正在被使用。

我们创造了一个 flake8.api.legacy.StyleGuide 通过呼叫 flake8.api.legacy.get_style_guide() . 我们可以将选项传递给 flake8.api.legacy.get_style_guide() 与可能使用的命令行选项相对应的。例如,我们可以通过 ignoreselectexcludeformat ,等等。我们的遗留API不强制实施遗留行为,因此我们可以组合 ignoreselect 就像我们在命令行一样,例如。,

style_guide = flake8.get_style_guide(
    ignore=['E24', 'W5'],
    select=['E', 'W', 'F'],
    format='pylint',
)

一旦我们 flake8.api.legacy.StyleGuide 我们可以使用与以前相同的方法,即

StyleGuide.check_files(paths=None)[源代码]

对提供的文件运行收集的检查。

这将检查传入的文件并返回 Report 实例。

参数

paths (list) -- 要检查的文件名(或路径)列表。

返回

对象模拟Flake8 2.0的Reporter类。

返回类型

flake8.api.legacy.Report

StyleGuide.excluded(filename, parent=None)[源代码]

确定是否排除文件。

参数
  • filename (str) -- 要检查是否排除的文件的路径。

  • parent (str) -- 包含文件的父目录的名称。

返回

如果文件名被排除,则为True,否则为False。

返回类型

bool

StyleGuide.init_report(reporter=None)[源代码]

为这次Flake8运行设置格式化程序。

StyleGuide.input_file(filename, lines=None, expected=None, line_offset=0)[源代码]

对单个文件运行收集的检查。

这将检查传入的文件并返回 Report 实例。

参数
  • filename (str) -- 要检查的文件的路径。

  • lines (list) -- 从Flake8 3.0开始被忽略。

  • expected -- 从Flake8 3.0开始被忽略。

  • line_offset (int) -- 从Flake8 3.0开始被忽略。

返回

对象模拟Flake8 2.0的Reporter类。

返回类型

flake8.api.legacy.Report

警告

这些不是 完美 向后兼容。并不是所有的参数都被重新划分,并且某些工作所必需的类型也发生了变化。

我们观察到,大多数人都在使用 check_files() . 您可以使用它来指定要检查的文件名或目录的列表。在 Flake8 但是,我们返回了一个具有相似方法的不同对象。我们返回一个 flake8.api.legacy.Report 哪有办法

Report.get_statistics(violation)[源代码]

获取违规事件的列表。

返回

冲突出现的列表,格式为:{Count}{Error Code}{Message},例如。, 8 E531 Some error message about the error

返回类型

list

我们注意到的这种方法的大多数用法如上文所述。但是请记住,它提供了一个字符串列表,而不是任何更具延展性的东西。

自动生成的旧文档

在Flake8 2.x行为周围包含垫片的模块。

以前,用户会导入 get_style_guide()flake8.engine . 在3.0中,我们不再有“引擎”模块,但我们从中维护了API。

flake8.api.legacy.get_style_guide(**kwargs)[源代码]

提供样式指南以供使用。

参数

**kwargs -- 为StyleGuide提供一些选项的关键字参数。

返回

初始化的样式指南

返回类型

StyleGuide

class flake8.api.legacy.StyleGuide(application)[源代码]

模拟Flake8 2.0的StyleGuide的面向公众的对象。

注解

与Flake8 2.x中提供的StyleGuide对象相比,该对象的行为方式发生了重要变化。

警告

用户不应直接实例化此对象。

在 3.0.0 版更改.

property options

返回应用程序的选项。

的实例 argparse.Namespace 包含解析的选项。

property paths

返回作为路径传递的额外参数。

class flake8.api.legacy.Report(application)[源代码]

这是面向公共对象的API 8.0。

注解

与Flake8 2.x中提供的对象相比,此对象的行为方式有重要变化。

警告

这不应该由用户实例化。

在 3.0.0 版更改.

property total_errors

返回错误总数。