晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/cloudlinux/venv/lib64/python3.11/site-packages/pylint/lint/ |
| Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/pylint/lint/report_functions.py |
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
# Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt
from __future__ import annotations
import collections
from collections import defaultdict
from pylint import checkers, exceptions
from pylint.reporters.ureports.nodes import Section, Table
from pylint.utils import LinterStats
def report_total_messages_stats(
sect: Section,
stats: LinterStats,
previous_stats: LinterStats | None,
) -> None:
"""Make total errors / warnings report."""
lines = ["type", "number", "previous", "difference"]
lines += checkers.table_lines_from_stats(stats, previous_stats, "message_types")
sect.append(Table(children=lines, cols=4, rheaders=1))
def report_messages_stats(
sect: Section,
stats: LinterStats,
_: LinterStats | None,
) -> None:
"""Make messages type report."""
by_msg_stats = stats.by_msg
in_order = sorted(
(value, msg_id)
for msg_id, value in by_msg_stats.items()
if not msg_id.startswith("I")
)
in_order.reverse()
lines = ["message id", "occurrences"]
for value, msg_id in in_order:
lines += [msg_id, str(value)]
sect.append(Table(children=lines, cols=2, rheaders=1))
def report_messages_by_module_stats(
sect: Section,
stats: LinterStats,
_: LinterStats | None,
) -> None:
"""Make errors / warnings by modules report."""
module_stats = stats.by_module
if len(module_stats) == 1:
# don't print this report when we are analysing a single module
raise exceptions.EmptyReportError()
by_mod: defaultdict[str, dict[str, int | float]] = collections.defaultdict(dict)
for m_type in ("fatal", "error", "warning", "refactor", "convention"):
total = stats.get_global_message_count(m_type)
for module in module_stats.keys():
mod_total = stats.get_module_message_count(module, m_type)
percent = 0 if total == 0 else float(mod_total * 100) / total
by_mod[module][m_type] = percent
sorted_result = []
for module, mod_info in by_mod.items():
sorted_result.append(
(
mod_info["error"],
mod_info["warning"],
mod_info["refactor"],
mod_info["convention"],
module,
)
)
sorted_result.sort()
sorted_result.reverse()
lines = ["module", "error", "warning", "refactor", "convention"]
for line in sorted_result:
# Don't report clean modules.
if all(entry == 0 for entry in line[:-1]):
continue
lines.append(line[-1])
for val in line[:-1]:
lines.append(f"{val:.2f}")
if len(lines) == 5:
raise exceptions.EmptyReportError()
sect.append(Table(children=lines, cols=5, rheaders=1))
|