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.

Parameters
  • baseUrl (str) –

  • forceRefresh (bool) –

  • parent

class BackendServer

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

Bases: sip.wrapper

QgsGeoNodeRequest.ServiceLayerDetail(QgsGeoNodeRequest.ServiceLayerDetail)

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

Aborts any active network request immediately.

childEvent()
connectNotify()
customEvent()
disconnectNotify()
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()
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()
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()
senderSignalIndex()
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()