Pylint JSON报告转换为HTML
项目描述
pylint-json2html
A pylint JSON report file to HTML: pylint is used to generate a JSON report, and this tool will transform this report into an HTML document
usage: pylint-json2html [-h] [-o FILENAME] [-e OUTPUT_ENCODING]
[-t FILENAME] [-f FORMAT] [FILENAME]
Transform Pylint JSON report to HTML
positional arguments:
FILENAME Pylint JSON report input file (or stdin)
optional arguments:
-h, --help show this help message and exit
-o FILENAME, --output FILENAME
Pylint HTML report output file (or stdout)
-e ENCODING, --encoding ENCODING
Encoding used to write output file (if not stdout);
default to utf-8
-t FILENAME, --template FILENAME
Jinja2 custom template to generate report
-f FORMAT, --input-format FORMAT
Pylint JSON Report input type (json or jsonextended)
为什么?
从其 1.7 版本 开始,Pylint 不再提供HTML输出格式。发布说明中提到
它曾是Pylint的二等公民,大多数时候被忽视。现在我们有JSON报告器,它可以作为构建比Pylint当前能生成的更美观的HTML报告的基础。这是从Pylint中移除冗余功能的一部分工作。
我同意这个说法。很少有人使用HTML报告,而Pylint也变得过时了。其核心功能复杂,需要花费大量时间和精力 - 我首先要感谢这个软件最初的存在!
所以,这就是它:一个满足我自身需求的插件。我将其作为开源共享,为什么不呢?
安装
要安装此工具,请使用pip
(venv) $ pip install pylint-json2html
您可以从GitHub仓库下载源代码,并使用setup.py
文件进行安装
或开发
,但除非您打算为此小型项目做出贡献,否则不建议这样做。
用法
我最喜欢的使用pylint
和pylint-json2html
的方式是这样的
(venv) $ pylint my_package | pylint-json2html -o pylint.html
前提是您已经用以下方式配置了您的Pylint配置文件
[REPORTS]
output-format=json
但您可以先生成一个JSON文件,然后使用pylint-json2html
来读取它
(venv) $ pylint your_package > pylint.json
(venv) $ pylint-json2html -o pylint.html pylint.json
您也可以重定向pylint-json2html
的stdout
(venv) $ pylint-json2html pylint.json > pylint.html
您可以指定写入文件时使用的输出编码。注意,您不能对stdout这样做(如果您想控制它,您将不得不配置您环境的locale)
(venv) $ pylint-json2html -o pylint.html -e utf-8 pylint.json
这在您的locale类似于cp1252
或latin1
时尤其有用,您想确保您的输出文件被正确地以utf-8格式写入(当与Python文件一起工作时应该是这样的)。
扩展报告
实际上,我之前说的最喜欢的用法并不准确,正确的是这个
(venv) $ pylint my_package | pylint-json2html -f jsonextended -o pylint.html
使用以下Pylint配置
[MASTER]
load-plugins=pylint_json2html
[REPORTS]
output-format=jsonextended
pylint_json2html
是一个Pylint插件,它添加了一个新的输出格式:jsonextended
。默认情况下,json
格式只包含消息列表,而此新格式还包括指标,例如分析的语句数量或依赖关系列表。
上述配置可以使用命令行进行测试
(venv) $ pylint --load-plugins=pylint_json2html \
--output-format=jsonextended your_package > pylint.json
然后,您将能够使用JSON扩展报告生成HTML报告
(venv) $ pylint-json2html -f jsonextended -o pylint.html pylint.json
就这样!
自定义模板
此插件使用Jinja2模板生成HTML输出,但您可能需要自己的模板。为此,您可以使用选项-t/--template
,如下所示
(venv) $ pylint-json2html -f jsonextended -t custom.tpl -o pylint.html pylint.json
报告
在您的模板中,您有访问权限的report
对象
report.score
:pylint给出的分数,仅适用于jsonextended
格式report.previous_score
:pylint给出的先前分数,仅适用于jsonextended
格式report.modules
:一个包含2值元组的列表:(module, messages)
模块对象
module.name
:模块名称module.path
:模块文件的路径
messages
值是一个字典列表,每个字典都有以下键
line
column
type
symbol
message-id
obj
message
指标
在您的模板中,您有访问权限的metrics
字典,以下键:types
、symbols
、modules
、paths
。它们每个都包含一个字典。
编码
默认模板包含以下标题
<meta charset="utf-8">
因此,如果您想使用不同的输出编码,请确保
- 您可以使用该编码对pylint的输出进行编码
- 并且您使用自己的自定义模板来更改该meta标签,否则在浏览器中看起来可能不太好
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,了解更多关于安装包的信息。
源代码分发
构建分发
pylint_json2html-0.5.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e8b36e58ecbbe58ea9f98f16ee02809faf268d444255738d8f1c206633061d49 |
|
MD5 | 0eaa88f41f61f7479567ba2c86a6c524 |
|
BLAKE2b-256 | 3288fc708985fc2fcd577729a4792e3f550116e43286a4c2bdba53d5ad5d5323 |
pylint_json2html-0.5.0-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 966d29528de61d05f6a9f155b812fbd934d3537910a1ea5d7dd7edf96e132216 |
|
MD5 | 884d1a2ab8c201fde4bbf769b966771c |
|
BLAKE2b-256 | 85c08a2ae202f31695050610a3b2553db47fe380bd3126f2c2b3da15fbe73f17 |