Class: QgsGeoNodeRequest

class qgis.core.QgsGeoNodeRequest(baseUrl: str, forceRefresh: bool, parent: QObject = None)

Bases: PyQt5.QtCore.QObject

Constructor for QgsGeoNodeRequest.

If forceRefresh is False, then cached copies of the request may be reused.

Request handler for GeoNode servers.

QgsGeoNodeRequest handles requesting and parsing service details from a GeoNode server instance, for instance requesting all available layers or layer styles.

New in version 3.0:

Enums

BackendServer

Bases: enum.IntEnum

Methods

abort

Aborts any active network request immediately.

childEvent

connectNotify

customEvent

disconnectNotify

fetchDefaultStyleBlocking

Requests the default style for the layer with matching layerName from the server.

fetchLayers

Triggers a new request to fetch the list of available layers from the server.

fetchLayersBlocking

Requests the list of available layers from the server.

fetchServiceUrlDataBlocking

Obtains a map of layer name to URL for available services with matching serviceType from the server.

fetchServiceUrlsBlocking

Requests the list of unique URLs for available services with matching serviceType from the server.

fetchStyleBlocking

Requests the details for the style with matching styleId from the server.

fetchStylesBlocking

Requests the list of available styles for the layer with matching layerName from the server.

isSignalConnected

lastError

Returns the most recent error string for any encountered errors, or an empty string if no errors have been encountered.

lastResponse

Returns the most recent response obtained from the server.

parseOwsUrl

Returns the updated ServiceLayerDetail struct with WMS/WFS/XYZ url.

protocol

Returns the network protocol (e.g.

receivers

request

Triggers a new request to the GeoNode server, with the requested endPoint.

requestBlocking

Triggers a new request to the GeoNode server, with the requested endPoint.

sender

senderSignalIndex

setProtocol

Sets the network protocol (e.g.

timerEvent

Signals

layersFetched

Emitted when the result of a fetchLayers call has been received and processed.

requestFinished

Emitted when the existing request has been completed.

statusChanged

Emitted when the status of an ongoing request is changed.

class BackendServer(value)

Bases: enum.IntEnum

GeoNode backend server type.

  • Unknown: Unknown backend

  • QgisServer: QGIS server used as backend

  • Geoserver: Geoserver used as backend

Geoserver = 2
QgisServer = 1
Unknown = 0
class ServiceLayerDetail
class ServiceLayerDetail(QgsGeoNodeRequest.ServiceLayerDetail) None

Bases: sip.wrapper

id
name
server
title
typeName
uuid
wfsURL
wmsURL
xyzURL
abort(self)

Aborts any active network request immediately.

childEvent(self, QChildEvent)
connectNotify(self, QMetaMethod)
customEvent(self, QEvent)
disconnectNotify(self, QMetaMethod)
fetchDefaultStyleBlocking(self, layerName: str) QgsGeoNodeStyle

Requests the default style for the layer with matching layerName from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Parameters

layerName (str) –

Return type

QgsGeoNodeStyle

fetchLayers(self)

Triggers a new request to fetch the list of available layers from the server. When complete, the layersFetched() signal will be emitted with the result.

This method is non-blocking and returns immediately.

Warning

When using the non-blocking methods in this class, sending overlapping requests results in undefined behavior. Use separate instances of QgsGeoNodeRequest instead to avoid this.

See also

layersFetched()

fetchLayersBlocking(self) List[QgsGeoNodeRequest.ServiceLayerDetail]

Requests the list of available layers from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

See also

fetchLayers()

Return type

List[QgsGeoNodeRequest.ServiceLayerDetail]

fetchServiceUrlDataBlocking(self, serviceType: str) Dict[str, str]

Obtains a map of layer name to URL for available services with matching serviceType from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Parameters

serviceType (str) –

Return type

Dict[str, str]

fetchServiceUrlsBlocking(self, serviceType: str) List[str]

Requests the list of unique URLs for available services with matching serviceType from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Parameters

serviceType (str) –

Return type

List[str]

fetchStyleBlocking(self, styleId: str) QgsGeoNodeStyle

Requests the details for the style with matching styleId from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Parameters

styleId (str) –

Return type

QgsGeoNodeStyle

fetchStylesBlocking(self, layerName: str) List[QgsGeoNodeStyle]

Requests the list of available styles for the layer with matching layerName from the server.

This method is blocking and will wait for results from the server before returning. Accordingly it should not be used from any code which potentially blocks operation in the main GUI thread.

Parameters

layerName (str) –

Return type

List[QgsGeoNodeStyle]

isSignalConnected(self, QMetaMethod) bool
lastError(self) str

Returns the most recent error string for any encountered errors, or an empty string if no errors have been encountered.

Return type

str

lastResponse(self) QByteArray

Returns the most recent response obtained from the server.

Return type

QByteArray

layersFetched

Emitted when the result of a fetchLayers call has been received and processed. [signal]

Parameters

layers (Iterable[QgsGeoNodeRequest.ServiceLayerDetail]) –

parseOwsUrl(self, layerStruct: QgsGeoNodeRequest.ServiceLayerDetail, layerLinks: Iterable[Any]) QgsGeoNodeRequest.ServiceLayerDetail

Returns the updated ServiceLayerDetail struct with WMS/WFS/XYZ url.

Parameters
Return type

QgsGeoNodeRequest.ServiceLayerDetail

protocol(self) str

Returns the network protocol (e.g. ‘http’) used for connecting with the server.

See also

setProtocol()

Return type

str

receivers(self, PYQT_SIGNAL) int
request(self, endPoint: str)

Triggers a new request to the GeoNode server, with the requested endPoint. Any existing request will be aborted.

Calling this method does not block while waiting for a result.

Warning

When using the non-blocking methods in this class, sending overlapping requests results in undefined behavior. Use separate instances of QgsGeoNodeRequest instead to avoid this.

Parameters

endPoint (str) –

requestBlocking(self, endPoint: str) bool

Triggers a new request to the GeoNode server, with the requested endPoint. Any existing request will be aborted.

Calling this method will block while waiting for a result. It should not be used from any code which potentially blocks operation in the main GUI thread.

See also

request()

Parameters

endPoint (str) –

Return type

bool

requestFinished

Emitted when the existing request has been completed. [signal]

sender(self) QObject
senderSignalIndex(self) int
setProtocol(self, protocol: str)

Sets the network protocol (e.g. ‘http’) used for connecting with the server.

See also

protocol()

Parameters

protocol (str) –

statusChanged

Emitted when the status of an ongoing request is changed. [signal]

Parameters

statusQString (str) –

timerEvent(self, QTimerEvent)