fix: kompatibilita s Qt6 / QGIS 4

Oficiální kontrola pyqgis4-checker (skript pyqt5_to_pyqt6.py z QGISu)
hlásila u pluginu 13 nekompatibilit a tři soubory vůbec nepřečetla.

Odstraněn UTF-8 BOM z amcr_codelists.py, amcr_dialog.py a amcr_tools.py.
Checker čte zdroják jako UTF-8 bez utf-8-sig a na BOM padá na
SyntaxError: invalid non-printable character U+FEFF, takže se ty soubory
nezkontrolovaly vůbec. Pythonu při běhu BOM nevadí, proto to nikdy
nevyskočilo. heslar.csv si BOM ponechává, tam je kvůli Excelu.

Enumy převedeny na plně kvalifikované tvary (13 míst):
Qgis.{Info,Warning,Critical} -> Qgis.MessageLevel.*,
QgsTask.CanCancel -> QgsTask.Flag.CanCancel,
QgsWkbTypes.*Geometry -> QgsWkbTypes.GeometryType.*Geometry.
Zkrácené tvary v QGIS 4.2.1 zatím fungují, ale kontrola je vytýká
a aliasy do budoucna mizí. Zbytek kódu už scoped tvary používal.

Do AGENTS.md doplněna sekce o kompatibilitě s Qt6 / QGIS 4 se závaznými
pravidly a příkazy na ověření.

Ověřeno spuštěním v QGIS 3.44.13 (Qt 5.15.18) i QGIS 4.2.1 (Qt 6.10.3):
importy, vytvoření tasku i všechny tři filtrační dialogy fungují shodně.
Log pyqgis4-checkeru je nově prázdný.
This commit is contained in:
david-spacil committed 2026-09-01 23:05:02 +02:00
1 parent 2218719f98
commit d398d2cd1b
4 files changed
+68 -16

No files matched your search

+7 -7
View File
@@ -1,4 +1,4 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
from qgis.core import (QgsProject, QgsVectorLayer, QgsFeature, QgsGeometry,
QgsField, QgsCoordinateReferenceSystem,
QgsCoordinateTransform, QgsWkbTypes, Qgis,
@@ -1138,11 +1138,11 @@ def load_amcr_data(canvas, bb, filters=None,
if geom.isGeosValid():
t = geom.type()
target_list = None
if t == QgsWkbTypes.PolygonGeometry:
if t == QgsWkbTypes.GeometryType.PolygonGeometry:
target_list = feats_p
elif t == QgsWkbTypes.LineGeometry:
elif t == QgsWkbTypes.GeometryType.LineGeometry:
target_list = feats_l
elif t == QgsWkbTypes.PointGeometry:
elif t == QgsWkbTypes.GeometryType.PointGeometry:
target_list = feats_pt
if target_list is None:
@@ -1227,11 +1227,11 @@ def load_amcr_data(canvas, bb, filters=None,
if geom.isGeosValid():
t = geom.type()
target_list = None
if t == QgsWkbTypes.PolygonGeometry:
if t == QgsWkbTypes.GeometryType.PolygonGeometry:
target_list = feats_p
elif t == QgsWkbTypes.LineGeometry:
elif t == QgsWkbTypes.GeometryType.LineGeometry:
target_list = feats_l
elif t == QgsWkbTypes.PointGeometry:
elif t == QgsWkbTypes.GeometryType.PointGeometry:
target_list = feats_pt
if target_list is None: