Class: QgsProcessingModelChildAlgorithm

class qgis.core.QgsProcessingModelChildAlgorithm(algorithmId: str = '')

Bases: qgis._core.QgsProcessingModelComponent

Constructor for QgsProcessingModelChildAlgorithm. The algorithmId parameter should be set to a QgsProcessingAlgorithm algorithm ID.

QgsProcessingModelChildAlgorithm(other: QgsProcessingModelChildAlgorithm)

Child algorithm representing a single component of a QgsProcessingModelAlgorithm.

New in version 3.0: Enums

Methods

addParameterSources

Adds a parameter source.

algorithm

Returns the underlying child algorithm, or None if a matching algorithm is not available.

algorithmId

Returns the underlying child algorithm’s ID.

asPythonCode

Attempts to convert the child to executable Python code, and returns a list of the generated lines of code.

childId

Returns the child algorithm’s unique ID string, used the identify this child algorithm within its parent model.

configuration

Returns the child algorithm’s configuration map.

dependencies

Returns the list of child algorithms from the parent model on which this algorithm is dependent.

generateChildId

Automatically generates a unique childId() for the algorithm, avoiding child IDs which are already present in model.

isActive

Returns True if the child algorithm is active.

loadVariant

Loads this child from a QVariant.

modelOutput

Returns the final model output with matching name.

modelOutputs

Returns the map of final model outputs which are generated by this child algorithm.

outputsCollapsed

Returns True if the list of outputs for this algorithm should be collapsed in the graphical modeler.

parameterSources

Returns a map of parameter sources.

parametersCollapsed

Returns True if the list of parameters for this algorithm should be collapsed in the graphical modeler.

reattach

Attempts to re-attach the child to the algorithm specified by ``algorithmId``().

removeModelOutput

Removes an existing output from the final model outputs.

restoreCommonProperties

saveCommonProperties

setActive

Sets whether the child algorithm is active.

setAlgorithmId

Sets the underlying child algorithm’s ID.

setChildId

Sets the child algorithm’s unique id string, used the identify this child algorithm within its parent model.

setConfiguration

Sets the child algorithm’s configuration map.

setDependencies

Sets the list of child algorithms from the parent model on which this algorithm is dependent.

setModelOutputs

Sets the map of final model outputs which are generated by this child algorithm.

setOutputsCollapsed

Sets whether the list of outputs for this algorithm should be collapsed in the graphical modeler.

setParameterSources

Sets the map of parameter sources.

setParametersCollapsed

Sets whether the list of parameters for this algorithm should be collapsed in the graphical modeler.

toVariant

Saves this child to a QVariant.

Signals

Attributes

addParameterSources(self, name: str, source: Iterable[QgsProcessingModelChildParameterSource])

Adds a parameter source. The name argument should match one of the child algorithm’s parameter names, and the sources argument is used to set the sources for that parameter.

Any existing parameter sources with matching name will be replaced.

algorithm(self) → QgsProcessingAlgorithm

Returns the underlying child algorithm, or None if a matching algorithm is not available.

See also

reattach()

See also

algorithmId()

algorithmId(self) → str

Returns the underlying child algorithm’s ID.

See also

algorithm()

See also

setAlgorithmId()

asPythonCode(self, outputType: QgsProcessing.PythonOutputType, extraParameters: Dict[str, str], currentIndent: int, indentSize: int, friendlyChildNames: Dict[str, str], friendlyOutputNames: Dict[str, str]) → List[str]

Attempts to convert the child to executable Python code, and returns a list of the generated lines of code.

The outputType argument specifies the type of script to generate.

Additional parameters to be passed to the child algorithm are specified in the extraParameters argument.

The currentIndent and indentSize are used to set the base line indent and size of further indented lines respectively.

The friendlyChildNames argument gives a map of child id to a friendly algorithm name, to be used in the code to identify that algorithm instead of the raw child id.

childId(self) → str

Returns the child algorithm’s unique ID string, used the identify this child algorithm within its parent model.

See also

setChildId()

configuration(self) → Dict[str, Any]

Returns the child algorithm’s configuration map.

This map specifies configuration settings which are passed to the algorithm, allowing it to dynamically adjust its initialized parameters and outputs according to this configuration. This allows child algorithms in the model to adjust their behavior at run time according to some user configuration.

dependencies(self) → List[str]

Returns the list of child algorithms from the parent model on which this algorithm is dependent. The returned list contains the id() of the dependent algorithms.

generateChildId(self, model: QgsProcessingModelAlgorithm)

Automatically generates a unique childId() for the algorithm, avoiding child IDs which are already present in model.

See also

childId()

See also

setChildId()

isActive(self) → bool

Returns True if the child algorithm is active.

See also

setActive()

loadVariant(self, child: Any) → bool

Loads this child from a QVariant.

See also

toVariant()

modelOutput(self, name: str) → QgsProcessingModelOutput

Returns the final model output with matching name. If no output exists with the name, a new one will be created and returned.

If child model outputs are altered by this method, QgsProcessingModelAlgorithm.updateDestinationParameters() must be called on the parent model.

See also

modelOutputs()

modelOutputs(self) → Dict[str, QgsProcessingModelOutput]

Returns the map of final model outputs which are generated by this child algorithm. The keys are the output names from this child algorithm. Only outputs which are part of the final outputs from the model are included in this map.

See also

modelOutput()

outputsCollapsed(self) → bool

Returns True if the list of outputs for this algorithm should be collapsed in the graphical modeler.

parameterSources(self) → object

Returns a map of parameter sources. The keys are the child algorithm parameter names, the values are the sources for that parameter.

parametersCollapsed(self) → bool

Returns True if the list of parameters for this algorithm should be collapsed in the graphical modeler.

reattach(self) → bool

Attempts to re-attach the child to the algorithm specified by ``algorithmId``().

This can be run to relink the child to algorithms from providers which were not originally available for the model to link to.

Returns True if the algorithm was successfully reattached.

See also

algorithm()

See also

setAlgorithmId()

removeModelOutput(self, name: str) → bool

Removes an existing output from the final model outputs.

QgsProcessingModelAlgorithm.updateDestinationParameters() must be called on the parent model.

See also

modelOutputs()

New in version 3.2.

restoreCommonProperties()
saveCommonProperties()
setActive(self, active: bool)

Sets whether the child algorithm is active.

See also

isActive()

setAlgorithmId(self, algorithmId: str) → bool

Sets the underlying child algorithm’s ID. This should be set to an existing QgsProcessingAlgorithm algorithm ID.

Returns True if the algorithm was successfully set.

See also

reattach()

See also

algorithm()

See also

algorithmId()

setChildId(self, id: str)

Sets the child algorithm’s unique id string, used the identify this child algorithm within its parent model.

See also

childId()

setConfiguration(self, configuration: Dict[str, Any])

Sets the child algorithm’s configuration map.

This map specifies configuration settings which are passed to the algorithm, allowing it to dynamically adjust its initialized parameters and outputs according to this configuration. This allows child algorithms in the model to adjust their behavior at run time according to some user configuration.

See also

configuration()

setDependencies(self, dependencies: Iterable[str])

Sets the list of child algorithms from the parent model on which this algorithm is dependent. The list should contain the id() of the dependent algorithms.

See also

dependencies()

setModelOutputs(self, outputs: Dict[str, QgsProcessingModelOutput])

Sets the map of final model outputs which are generated by this child algorithm. Only outputs which are part of the final outputs from the model should be included in this map.

If child model outputs are altered by this method, QgsProcessingModelAlgorithm.updateDestinationParameters() must be called on the parent model.

See also

modelOutputs()

setOutputsCollapsed(self, collapsed: bool)

Sets whether the list of outputs for this algorithm should be collapsed in the graphical modeler.

setParameterSources(self, sources: object)

Sets the map of parameter sources. The keys are the child algorithm parameter names, the values are the sources for that parameter.

setParametersCollapsed(self, collapsed: bool)

Sets whether the list of parameters for this algorithm should be collapsed in the graphical modeler.

toVariant(self) → Any

Saves this child to a QVariant.

See also

loadVariant()