:tocdepth: 3 :py:mod:`gws.plugin.qfieldcloud.caps` ===================================== .. py:module:: gws.plugin.qfieldcloud.caps **Source code:** :source:`gws.plugin.qfieldcloud.caps` Module Contents --------------- .. py:class:: Caps(*args, **kwargs) Bases: :py:obj:`gws.Data` QField related capabilities extracted from the QGIS project and GWS config. .. py:attribute:: areaOfInterest :type: Optional[gws.Bounds] .. py:attribute:: baseMapLayerIds :type: list[str] .. py:attribute:: copyDirs :type: list[str] .. py:attribute:: copyOnlyAreaOfInterest :type: bool .. py:attribute:: layerMap :type: dict[str, LayerEntry] .. py:attribute:: modelMap :type: dict[str, ModelEntry] .. py:attribute:: projectProps :type: ProjectProps .. py:attribute:: qgisPath :type: str .. py:attribute:: sourceHash :type: str .. py:class:: LayerAction(*args, **kwds) Bases: :py:obj:`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``. .. py:attribute:: baseMap :value: 'baseMap' .. py:attribute:: edit :value: 'edit' .. py:attribute:: remove :value: 'remove' .. py:class:: LayerEntry(*args, **kwargs) Bases: :py:obj:`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. .. py:attribute:: action :type: LayerAction .. py:attribute:: dataProvider :type: str .. py:attribute:: dataSource :type: str .. py:attribute:: dataSourceFileName :type: str .. py:attribute:: modelEntry :type: ModelEntry .. py:attribute:: props :type: LayerProps .. py:attribute:: qgisId :type: str .. py:attribute:: readOnly :type: bool .. py:attribute:: sourceLayer :type: gws.SourceLayer .. py:attribute:: sqlFilter :type: str .. py:class:: LayerProps(*args, **kwargs) Bases: :py:obj:`gws.Data` Custom layer properties as defined by QField. .. py:attribute:: action :type: str .. py:attribute:: attachment_naming :type: dict .. py:attribute:: attribute_editing_locked_expression :type: str .. py:attribute:: cloud_action :type: str .. py:attribute:: feature_addition_locked_expression :type: str .. py:attribute:: feature_deletion_locked_expression :type: str .. py:attribute:: geometry_editing_locked_expression :type: str .. py:attribute:: is_attribute_editing_locked :type: bool .. py:attribute:: is_feature_addition_locked :type: bool .. py:attribute:: is_feature_deletion_locked :type: bool .. py:attribute:: is_geometry_editing_locked :type: bool .. py:attribute:: photo_naming :type: dict .. py:attribute:: relationship_maximum_visible :type: dict .. py:attribute:: tracking_distance_requirement_minimum_meters :type: int .. py:attribute:: tracking_erroneous_distance_safeguard_maximum_meters :type: int .. py:attribute:: tracking_measurement_type :type: int .. py:attribute:: tracking_time_requirement_interval_seconds :type: int .. py:attribute:: value_map_button_interface_threshold :type: int .. py:class:: ModelEntry(*args, **kwargs) Bases: :py:obj:`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. .. py:attribute:: gpName :type: str .. py:attribute:: model :type: gws.DatabaseModel .. py:attribute:: tableName :type: str .. py:class:: Parser(qfc_project: gws.plugin.qfieldcloud.core.QfcProject) Read qf-related capabilities from the qgis project. .. py:attribute:: caps :type: Caps .. py:attribute:: project :type: gws.plugin.qfieldcloud.core.QfcProject .. py:attribute:: qfcProject .. py:attribute:: qgisCaps :type: gws.plugin.qgis.caps.Caps .. py:method:: assign_path_props() .. py:method:: create_model_entry_for_layer(le: LayerEntry) .. py:method:: create_models() .. py:method:: extract_layer_props(sl: gws.SourceLayer) -> LayerProps .. py:method:: extract_project_props() -> ProjectProps .. py:method:: gp_name_for_model(table_name) .. py:method:: iter_layers() .. py:method:: layer_entry(sl: gws.SourceLayer) -> Optional[LayerEntry] .. py:method:: layer_entry_2(sl: gws.SourceLayer) -> Optional[LayerEntry] .. py:method:: model_entry_for_source_layer(sl: gws.SourceLayer) -> Optional[ModelEntry] .. py:method:: parse() -> Caps .. py:method:: parse_area_of_interest() .. py:method:: parse_base_map() .. py:method:: parse_copy_dirs() .. py:method:: postgres_layer_entry(sl, props: LayerProps) -> LayerEntry .. py:class:: ProjectProps(*args, **kwargs) Bases: :py:obj:`gws.Data` Custom project properties as defined by QField. .. py:attribute:: areaOfInterest :type: str .. py:attribute:: areaOfInterestCrs :type: str .. py:attribute:: attachmentDirs :type: list[str] .. py:attribute:: baseMapLayer :type: str .. py:attribute:: baseMapTheme :type: str .. py:attribute:: baseMapTileSize :type: int .. py:attribute:: baseMapTilesMaxZoomLevel :type: int .. py:attribute:: baseMapTilesMinZoomLevel :type: int .. py:attribute:: baseMapType :type: str .. py:attribute:: createBaseMap :type: bool .. py:attribute:: dataDirs :type: list[str] .. py:attribute:: digitizingLogsLayer :type: str .. py:attribute:: dirsToCopy :type: dict .. py:attribute:: forceAutoPush :type: bool .. py:attribute:: forceAutoPushIntervalMins :type: int .. py:attribute:: forceStamping :type: bool .. py:attribute:: geofencingBehavior :type: int .. py:attribute:: geofencingIsActive :type: bool .. py:attribute:: geofencingLayer :type: str .. py:attribute:: geofencingShouldPreventDigitizing :type: bool .. py:attribute:: mapThemesActiveLayers :type: dict .. py:attribute:: maximumImageWidthHeight :type: int .. py:attribute:: offlineCopyOnlyAoi :type: bool .. py:attribute:: stampingDetailsTemplate :type: str .. py:attribute:: stampingFontStyle :type: str .. py:attribute:: stampingHorizontalAlignment :type: int .. py:attribute:: stampingImageDecoration :type: str