VLN-API integriert
This commit is contained in:
@@ -38,6 +38,12 @@ QgsLayoutPoint: Type[Any]
|
||||
QgsLayoutSize: Type[Any]
|
||||
QgsUnitTypes: Type[Any]
|
||||
QgsLayoutItem: Type[Any]
|
||||
QgsBlockingNetworkRequest: Type[Any]
|
||||
QgsJsonExporter: Type[Any]
|
||||
QgsJsonUtils: Type[Any]
|
||||
GEOM_POINT: Any = None
|
||||
GEOM_LINE: Any = None
|
||||
GEOM_POLYGON: Any = None
|
||||
|
||||
MAP_GRID_STYLE_MARKERS: Any = None
|
||||
MAP_GRID_STYLE_FRAME_ANNOTATIONS: Any = None
|
||||
@@ -91,6 +97,9 @@ try:
|
||||
QgsLayoutSize as _QgsLayoutSize,
|
||||
QgsUnitTypes as _QgsUnitTypes,
|
||||
QgsLayoutItem as _QgsLayoutItem,
|
||||
QgsBlockingNetworkRequest as _QgsBlockingNetworkRequest,
|
||||
QgsJsonExporter as _QgsJsonExporter,
|
||||
QgsJsonUtils as _QgsJsonUtils,
|
||||
)
|
||||
|
||||
QgsProject = _QgsProject
|
||||
@@ -118,6 +127,32 @@ try:
|
||||
QgsLayoutSize = _QgsLayoutSize
|
||||
QgsUnitTypes = _QgsUnitTypes
|
||||
QgsLayoutItem = _QgsLayoutItem
|
||||
QgsBlockingNetworkRequest = _QgsBlockingNetworkRequest
|
||||
QgsJsonExporter = _QgsJsonExporter
|
||||
QgsJsonUtils = _QgsJsonUtils
|
||||
|
||||
# Geometrietyp-Konstanten (QGIS 4 / QGIS 3.30+ vs. ältere QGIS-3)
|
||||
def _resolve_geom_type(*paths):
|
||||
for obj, *attrs in paths:
|
||||
val = obj
|
||||
for attr in attrs:
|
||||
val = getattr(val, attr, None)
|
||||
if val is None:
|
||||
break
|
||||
else:
|
||||
if val is not None:
|
||||
return val
|
||||
return None
|
||||
|
||||
GEOM_POINT = _resolve_geom_type(
|
||||
(_Qgis, "GeometryType", "Point"),
|
||||
) or getattr(__import__("qgis.core", fromlist=["QgsWkbTypes"]), "QgsWkbTypes", type("_", (), {"PointGeometry": 0})).PointGeometry
|
||||
GEOM_LINE = _resolve_geom_type(
|
||||
(_Qgis, "GeometryType", "Line"),
|
||||
) or getattr(__import__("qgis.core", fromlist=["QgsWkbTypes"]), "QgsWkbTypes", type("_", (), {"LineGeometry": 1})).LineGeometry
|
||||
GEOM_POLYGON = _resolve_geom_type(
|
||||
(_Qgis, "GeometryType", "Polygon"),
|
||||
) or getattr(__import__("qgis.core", fromlist=["QgsWkbTypes"]), "QgsWkbTypes", type("_", (), {"PolygonGeometry": 2})).PolygonGeometry
|
||||
|
||||
def _resolve_qgis_enum(*paths: tuple[Any, ...]) -> Any:
|
||||
for path in paths:
|
||||
@@ -777,6 +812,60 @@ except Exception:
|
||||
|
||||
QgsVectorFileWriter = _MockQgsVectorFileWriter
|
||||
|
||||
# Geometrietyp-Konstanten (Mock-Werte entsprechen QgsWkbTypes)
|
||||
GEOM_POINT = 0
|
||||
GEOM_LINE = 1
|
||||
GEOM_POLYGON = 2
|
||||
|
||||
class _MockQgsBlockingNetworkRequest:
|
||||
NoError = 0
|
||||
|
||||
def __init__(self):
|
||||
self._reply = None
|
||||
|
||||
def get(self, request: Any) -> int:
|
||||
return self.NoError
|
||||
|
||||
def post(self, request: Any, data: bytes) -> int:
|
||||
return self.NoError
|
||||
|
||||
def put(self, request: Any, data: bytes) -> int:
|
||||
return self.NoError
|
||||
|
||||
def reply(self) -> Any:
|
||||
return self._reply
|
||||
|
||||
def errorMessage(self) -> str:
|
||||
return ""
|
||||
|
||||
QgsBlockingNetworkRequest = _MockQgsBlockingNetworkRequest
|
||||
|
||||
class _MockQgsJsonUtils:
|
||||
@staticmethod
|
||||
def stringToFields(text: str) -> Any:
|
||||
return type("_Fields", (), {"toList": lambda self: []})()
|
||||
|
||||
@staticmethod
|
||||
def stringToFeatureList(text: str, fields: Any) -> list:
|
||||
return []
|
||||
|
||||
QgsJsonUtils = _MockQgsJsonUtils
|
||||
|
||||
class _MockQgsJsonExporter:
|
||||
def __init__(self, layer: Any = None):
|
||||
self._layer = layer
|
||||
|
||||
def setSourceCrs(self, crs: Any) -> None:
|
||||
pass
|
||||
|
||||
def setTransformGeometries(self, transform: bool) -> None:
|
||||
pass
|
||||
|
||||
def exportFeatures(self, features: list) -> str:
|
||||
return '{"type":"FeatureCollection","features":[]}'
|
||||
|
||||
QgsJsonExporter = _MockQgsJsonExporter
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# Netzwerk
|
||||
# ---------------------------------------------------------
|
||||
|
||||
Reference in New Issue
Block a user