gws.plugin.qfieldcloud.caps

Source code: gws.plugin.qfieldcloud.caps

Module Contents

class gws.plugin.qfieldcloud.caps.Caps(*args, **kwargs)

Bases: gws.Data

QField related capabilities extracted from the QGIS project and GWS config.

areaOfInterest: gws.Bounds | None
baseMapLayerIds: list[str]
copyDirs: list[str]
copyOnlyAreaOfInterest: bool
layerMap: dict[str, LayerEntry]
modelMap: dict[str, ModelEntry]
projectProps: ProjectProps
qgisPath: str
sourceHash: str
class gws.plugin.qfieldcloud.caps.LayerAction(*args, **kwds)

Bases: gws.Enum

Enumeration type.

Despite being declared as extending Enum (for IDE support), this class is actually just a simple object and intended to be used as a collection of attributes. It doesn’t provide any Enum-specific utilities.

The rationale behind this is that we need Enum members (e.g. Color.RED) to be scalars, and not complex objects as in the standard Enum.

baseMap = 'baseMap'
edit = 'edit'
remove = 'remove'
class gws.plugin.qfieldcloud.caps.LayerEntry(*args, **kwargs)

Bases: gws.Data

Basic data object.

This object can be instantiated by passing one or or dict arguments and/or keyword args. All dicts keys and keywords become attributes of the object.

Accessing an undefined attribute returns None and no error is raised, unless the attribute name starts with an underscore.

action: LayerAction
dataProvider: str
dataSource: str
dataSourceFileName: str
modelEntry: ModelEntry
props: LayerProps
qgisId: str
readOnly: bool
sourceLayer: gws.SourceLayer
sqlFilter: str
class gws.plugin.qfieldcloud.caps.LayerProps(*args, **kwargs)

Bases: gws.Data

Custom layer properties as defined by QField.

action: str
attachment_naming: dict
attribute_editing_locked_expression: str
cloud_action: str
feature_addition_locked_expression: str
feature_deletion_locked_expression: str
geometry_editing_locked_expression: str
is_attribute_editing_locked: bool
is_feature_addition_locked: bool
is_feature_deletion_locked: bool
is_geometry_editing_locked: bool
photo_naming: dict
relationship_maximum_visible: dict
tracking_distance_requirement_minimum_meters: int
tracking_erroneous_distance_safeguard_maximum_meters: int
tracking_measurement_type: int
tracking_time_requirement_interval_seconds: int
value_map_button_interface_threshold: int
class gws.plugin.qfieldcloud.caps.ModelEntry(*args, **kwargs)

Bases: gws.Data

Basic data object.

This object can be instantiated by passing one or or dict arguments and/or keyword args. All dicts keys and keywords become attributes of the object.

Accessing an undefined attribute returns None and no error is raised, unless the attribute name starts with an underscore.

gpName: str
model: gws.DatabaseModel
tableName: str
class gws.plugin.qfieldcloud.caps.Parser(qfc_project: gws.plugin.qfieldcloud.core.QfcProject)

Read qf-related capabilities from the qgis project.

caps: Caps
project: gws.plugin.qfieldcloud.core.QfcProject
qfcProject
qgisCaps: gws.plugin.qgis.caps.Caps
assign_path_props()
create_model_entry_for_layer(le: LayerEntry)
create_models()
extract_layer_props(sl: gws.SourceLayer) LayerProps
extract_project_props() ProjectProps
gp_name_for_model(table_name)
iter_layers()
layer_entry(sl: gws.SourceLayer) LayerEntry | None
layer_entry_2(sl: gws.SourceLayer) LayerEntry | None
model_entry_for_source_layer(sl: gws.SourceLayer) ModelEntry | None
parse() Caps
parse_area_of_interest()
parse_base_map()
parse_copy_dirs()
postgres_layer_entry(sl, props: LayerProps) LayerEntry
class gws.plugin.qfieldcloud.caps.ProjectProps(*args, **kwargs)

Bases: gws.Data

Custom project properties as defined by QField.

areaOfInterest: str
areaOfInterestCrs: str
attachmentDirs: list[str]
baseMapLayer: str
baseMapTheme: str
baseMapTileSize: int
baseMapTilesMaxZoomLevel: int
baseMapTilesMinZoomLevel: int
baseMapType: str
createBaseMap: bool
dataDirs: list[str]
digitizingLogsLayer: str
dirsToCopy: dict
forceAutoPush: bool
forceAutoPushIntervalMins: int
forceStamping: bool
geofencingBehavior: int
geofencingIsActive: bool
geofencingLayer: str
geofencingShouldPreventDigitizing: bool
mapThemesActiveLayers: dict
maximumImageWidthHeight: int
offlineCopyOnlyAoi: bool
stampingDetailsTemplate: str
stampingFontStyle: str
stampingHorizontalAlignment: int
stampingImageDecoration: str