公共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()
与可能使用的命令行选项相对应的。例如,我们可以通过 ignore
, select
, exclude
, format
,等等。我们的遗留API不强制实施遗留行为,因此我们可以组合 ignore
和 select
就像我们在命令行一样,例如。,
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类。
- 返回类型
-
StyleGuide.
input_file
(filename, lines=None, expected=None, line_offset=0)[源代码]¶ 对单个文件运行收集的检查。
这将检查传入的文件并返回
Report
实例。- 参数
- 返回
对象模拟Flake8 2.0的Reporter类。
- 返回类型
警告
这些不是 完美 向后兼容。并不是所有的参数都被重新划分,并且某些工作所必需的类型也发生了变化。
我们观察到,大多数人都在使用 check_files()
. 您可以使用它来指定要检查的文件名或目录的列表。在 Flake8 但是,我们返回了一个具有相似方法的不同对象。我们返回一个 flake8.api.legacy.Report
哪有办法
-
Report.
get_statistics
(violation)[源代码]¶ 获取违规事件的列表。
- 返回
冲突出现的列表,格式为:{Count}{Error Code}{Message},例如。,
8 E531 Some error message about the error
- 返回类型
我们注意到的这种方法的大多数用法如上文所述。但是请记住,它提供了一个字符串列表,而不是任何更具延展性的东西。
自动生成的旧文档¶
在Flake8 2.x行为周围包含垫片的模块。
以前,用户会导入 get_style_guide()
从 flake8.engine
. 在3.0中,我们不再有“引擎”模块,但我们从中维护了API。
-
flake8.api.legacy.
get_style_guide
(**kwargs)[源代码]¶ 提供样式指南以供使用。
- 参数
**kwargs -- 为StyleGuide提供一些选项的关键字参数。
- 返回
初始化的样式指南
- 返回类型
-
class
flake8.api.legacy.
StyleGuide
(application)[源代码]¶ 模拟Flake8 2.0的StyleGuide的面向公众的对象。
注解
与Flake8 2.x中提供的StyleGuide对象相比,该对象的行为方式发生了重要变化。
警告
用户不应直接实例化此对象。
在 3.0.0 版更改.
-
property
options
¶ 返回应用程序的选项。
的实例
argparse.Namespace
包含解析的选项。
-
property
paths
¶ 返回作为路径传递的额外参数。
-
property