命令行界面¶
的命令行界面 Flake8 通过建模为应用程序 Application
. 当用户运行时 flake8
在他们的命令行, main()
处理应用程序管理的运行。
分析用户输入 两次 以适应用户尽早传递的日志和详细选项。这是为了尽可能多地进行测井。
默认值 Flake8 期权由注册 register_default_options()
. 尝试在插件中注册这些选项将导致错误。
API文档¶
-
flake8.main.cli.
main
(argv=None)[源代码]¶ 执行应用程序的主位。
这将处理
Application
,运行它,然后退出应用程序。- 参数
argv (list) -- 要传递给应用程序进行分析的参数。
-
class
flake8.main.application.
Application
(program='flake8', version='3.8.4')[源代码]¶ 将应用程序抽象为类。
-
args
¶ 未被解析的剩余参数
option_manager
-
catastrophic_failure
¶ 不管是否发生了灾难性的事情,我们应该用非零状态码退出
-
check_plugins
¶
-
end_time
¶ 应用程序完成报告错误时的时间戳。
-
file_checker_manager
¶ 这个
flake8.checker.Manager
它将处理运行用户选择的所有检查。
-
find_plugins
(config_finder)[源代码]¶ 查找并加载此应用程序的插件。
设置
check_plugins
和formatting_plugins
基于发现的插件的属性。- 参数
config_finder (config.ConfigFileFinder) -- 用于查找和读取配置文件的查找程序。
-
formatter
¶ 用户从中选择了格式化程序
formatting_plugins
-
formatting_plugins
¶
-
guide
¶ 这个
flake8.style_guide.StyleGuideManager
根据用户选项构建
-
option_manager
¶ 的实例
flake8.options.manager.OptionManager
用于分析和处理用户传递的选项和参数
-
options
¶ 解析为的实例的用户提供的选项
argparse.Namespace
-
parse_configuration_and_cli
(config_finder, argv)[源代码]¶ 解析配置文件和CLI选项。
- 参数
config_finder (config.ConfigFileFinder) -- 用于查找和读取配置文件的查找程序。
argv (list) -- 直接传入的命令行参数。
-
parse_preliminary_options
(argv)[源代码]¶ 从CLI中获取初步选项,预插件加载。
我们需要知道一些标准选项的值,以便能够找到配置文件并配置日志记录。
由于插件还没有加载,所以可能有一些未知的选项;我们现在忽略这些选项,稍后在进行实际选项解析时将对它们进行解析。
- 参数
argv (list) -- 直接传入的命令行参数。
- 返回
填充的命名空间和剩余参数字符串的列表。
- 返回类型
-
parsed_diff
¶ 解析的差异信息
-
prelim_arg_parser
¶ 用于处理获取和分析配置文件所需选项的初始参数分析器。
-
program
¶ 正在运行的程序的名称
-
report_errors
()[源代码]¶ 报告flake8 3.0发现的所有错误。
这也会更新
result_count
属性,其中包含找到的错误、警告和其他消息的总数。
-
result_count
¶ 运行flake8并考虑忽略的错误和行之后的错误、警告和其他消息数。
-
run_checks
(files=None)[源代码]¶ 使用FileChecker管理器运行实际检查。
此方法封装逻辑使
Manger
实例运行它正在管理的检查。- 参数
files (list) -- 要处理的文件名列表
-
running_against_diff
¶ 程序是否正在处理差异
-
start_time
¶ 实例化应用程序实例时的时间戳。
-
total_result_count
¶ 在计算忽略的错误和行之前的错误总数。
-
version
¶ 正在运行的程序的版本
-
-
flake8.main.options.
register_default_options
(option_manager)[源代码]¶ 在OptionManager上注册默认选项。
默认选项包括:
-q
/--quiet
--count
--diff
--exclude
--extend-exclude
--filename
--format
--hang-closing
--ignore
--extend-ignore
--per-file-ignores
--max-line-length
--max-doc-length
--select
--disable-noqa
--show-source
--statistics
--enable-extensions
--exit-zero
-j
/--jobs
--tee
--benchmark
--bug-report