mirror of
https://github.com/ARUP-CAS/aiscr-qgis-amcr-viewer.git
synced 2026-10-09 12:27:36 +02:00
Bez explicitní konfigurace se výsledek lintů mění sám od sebe: výchozí sada pravidel ruffu se liší verzi od verze a flake8 hlásí generovaný resources.py, který se ručně neformátuje. Konfigurace je rozdělená schválně. amcr_viewer/.flake8 leží vedle metadata.txt, protože scanner na plugins.qgis.org hledá config soubory jen v kořeni balíčku uvnitř ZIPu; stejná pravidla tak platí v CI, lokálně i při uploadu. Konfigurace ruffu je v kořenovém pyproject.toml, ruff se do balíčku pluginu nedistribuuje. Ignorovaná pravidla mají v pyproject.toml odůvodnění: UP009 (hlavička utf-8 je konvence šablony Plugin Builderu), BLE001 (except Exception je záměr, výjimka nesmí propadnout do QGISu), SIM103 a SIM105 (čitelnost). Dvě opravy, které z konfigurace plynou: - open(path, 'r', encoding=...) -> open(path, encoding=...) [UP015] - zbytečné else: po return v get_komponenty() [RET505] Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WhQyc1uQFcpkezLwM8if6T
45 lines
1.6 KiB
TOML
45 lines
1.6 KiB
TOML
# Konfigurace lintů pro tento repozitář.
|
||
#
|
||
# Plugin se nedistribuuje jako Python balíček (do QGISu jde ZIP složky
|
||
# amcr_viewer/), takže tenhle soubor nic nebalí ani neinstaluje – slouží
|
||
# jen k tomu, aby ruff choval stejně v CI, lokálně i za rok. Bez explicitní
|
||
# konfigurace se výchozí sada pravidel mezi verzemi ruffu mění.
|
||
#
|
||
# Konfigurace flake8 je záměrně jinde: v amcr_viewer/.flake8, protože ji
|
||
# musí najít i scanner na plugins.qgis.org.
|
||
|
||
[tool.ruff]
|
||
line-length = 79
|
||
# QGIS 3.44 běží na Pythonu 3.9 a novějším
|
||
target-version = "py39"
|
||
# Generovaný výstup pyrcc, "All changes made in this file will be lost"
|
||
extend-exclude = ["amcr_viewer/resources.py"]
|
||
|
||
[tool.ruff.lint]
|
||
select = [
|
||
"E", # pycodestyle – chyby
|
||
"W", # pycodestyle – varování
|
||
"F", # pyflakes
|
||
"I", # pořadí importů
|
||
"UP", # zastaralé konstrukce
|
||
"B", # bugbear
|
||
"C4", # comprehensions
|
||
"SIM", # zjednodušení
|
||
"RET", # návratové hodnoty
|
||
"BLE", # holé except
|
||
]
|
||
ignore = [
|
||
# Hlavička "# -*- coding: utf-8 -*-" je konvence šablony Plugin
|
||
# Builderu a drží se v celém projektu jednotně.
|
||
"UP009",
|
||
# "except Exception" je v pluginu záměr: výjimka nesmí propadnout do
|
||
# QGISu, chyba se uživateli ukáže v liště zpráv.
|
||
"BLE001",
|
||
# Obě dotčená místa mají ke každé větvi vysvětlující komentář,
|
||
# sloučením do jednoho výrazu by se čitelnost zhoršila.
|
||
"SIM103",
|
||
# contextlib.suppress() by kvůli jednomu místu přidal import a odsunul
|
||
# komentář, který vysvětluje, proč tam ta výjimka je.
|
||
"SIM105",
|
||
]
|