sip doesn't use the standard Python staticmethod type for defining
static methods, which means that standard means of testing
for a static method (like `isinstance(..., staticmethod)`) fail
with any PyQGIS static methods.
This causes issues with lint tools, which incorrectly flag
calls to QGIS static methods as missing self arguments. It also
breaks detection of static methods in the sphinx PyQGIS docs,
so all static methods are shown as non-static.
Work around this in sipify, by wrapping unambiguously static
methods in staticmethod wrappers.
* create map file for class / header files for PyQGIS API docs
* create map files
* install file
* add line numbers
* also add methods
* wait to sort
* more methods
* fix CMakeLists install
* fix sorting
* fix spell check
* remove map files for Qt6
* Revert "remove map files for Qt6"
This reverts commit 972f483410f556d1735a2070943b8ad9e2522c5e.
* do not test class_map files + auto sipify_all on branches
* fix warning
The `onProjectReady` method is called after the `QgsProject` instance is ready for the request and before entering the main switch for core services.
The `onRequestReady` method is called after the `QgsRequestHandler` is ready and populated with parameters but before the `QgsProject` instance is ready.
The `onProjectReady` method coud be used to perform operation at the project level like adding variables, checking vector layer categories, etc.
Funded by 3Liz
This feature improves feedback/cancel management during the map rendering to handle when
the client closes the in/out socket. This can occur when the client (an http server as
nginx) has a timeout shorter than the rendering time (fe. the rendering is very long due
database issue). Without this feature, the http server may resent new requests to the qgis
server which is busy and can not handle it.
For each new FCGI request, we start a new thread to monitor the incoming socket stream and
detect its closing. If the socket closes before the rendering, we update a feedback object
to cancel the rendering jobs. When the rendering is done, the thread is closed.