Class: QgsProjectBadLayerHandler¶
-
class
qgis.core.
QgsProjectBadLayerHandler
¶ Bases:
sip.wrapper
Interface for classes that handle missing layer files when reading project file.
Enums
Methods
Returns the data source for the given layer
Returns data type associated with the given QgsProject file Dom node
This method will be called whenever the project tries to load layers which cannot be accessed.
Returns the physical storage type associated with the given layer
Set the datasource element to the new value
Signals
Attributes
-
class
DataType
¶ Bases:
int
-
IS_BOGUS
= 2¶
-
IS_DATABASE
= 1¶
-
IS_FILE
= 0¶
-
IS_RASTER
= 1¶
-
IS_URL
= 2¶
-
IS_Unknown
= 3¶
-
IS_VECTOR
= 0¶
-
class
ProviderType
¶ Bases:
int
-
dataSource
(self, layerNode: QDomNode) → str¶ Returns the data source for the given layer
The QDomNode is a QgsProject Dom node corresponding to a map layer state.
Essentially dumps datasource tag.
New in version 3.0.
-
dataType
(self, layerNode: QDomNode) → QgsProjectBadLayerHandler.DataType¶ Returns data type associated with the given QgsProject file Dom node
The Dom node should represent the state associated with a specific layer.
New in version 3.0.
-
handleBadLayers
(self, layers: object)¶ This method will be called whenever the project tries to load layers which cannot be accessed. It should inform the user about this and if possible offer to fix the unavailable layers by setting a valid datasource, e.g. by showing a file dialog.
The default implementation will dismiss all bad layers and write information to the log.
New in version 3.0.
-
providerType
(self, layerNode: QDomNode) → QgsProjectBadLayerHandler.ProviderType¶ Returns the physical storage type associated with the given layer
The QDomNode is a QgsProject Dom node corresponding to a map layer state.
If the provider tag is “ogr”, then it’s a file type.
However, if the layer is a raster, then there won’t be a provider tag. It will always have an associated file.
If the layer doesn’t fall into either of the previous two categories, then it’s either a database or URL. If the datasource tag has “url=”, then it’s URL based and if it has “dbname=”>, then the layer data is in a database.
New in version 3.0.
-
setDataSource
(self, layerNode: QDomNode, dataSource: str)¶ Set the datasource element to the new value
New in version 3.0.
-
class