Class: QgsProcessingModelChildAlgorithm

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

Bases: 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.

Parameters

algorithmId

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.

Parameters
algorithm(self) → QgsProcessingAlgorithm

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

See also

reattach()

See also

algorithmId()

Return type

QgsProcessingAlgorithm

algorithmId(self) → str

Returns the underlying child algorithm’s ID.

See also

algorithm()

See also

setAlgorithmId()

Return type

str

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.

Parameters
  • outputType (QgsProcessing.PythonOutputType) –

  • extraParameters (Dict[str) –

  • currentIndent (int) –

  • indentSize (int) –

  • friendlyChildNames (Dict[str) –

  • friendlyOutputNames (Dict[str) –

Return type

List[str]

childId(self) → str

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

See also

setChildId()

Return type

str

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.

Return type

Dict[str, Any]

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.

Return type

List[str]

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()

Parameters

model (QgsProcessingModelAlgorithm) –

isActive(self) → bool

Returns True if the child algorithm is active.

See also

setActive()

Return type

bool

loadVariant(self, child: Any) → bool

Loads this child from a QVariant.

See also

toVariant()

Parameters

child (Any) –

Return type

bool

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()

Parameters

name (str) –

Return type

QgsProcessingModelOutput

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()

Return type

Dict[str, QgsProcessingModelOutput]

outputsCollapsed(self) → bool

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

Return type

bool

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.

Return type

object

parametersCollapsed(self) → bool

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

Return type

bool

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()

Return type

bool

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.

Parameters

name (str) –

Return type

bool

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

Sets whether the child algorithm is active.

See also

isActive()

Parameters

active (bool) –

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()

Parameters

algorithmId (str) –

Return type

bool

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()

Parameters

id (str) –

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()

Parameters

configuration (Dict[str) –

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()

Parameters

dependencies (Iterable[str]) –

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()

Parameters

outputs (Dict[str) –

setOutputsCollapsed(self, collapsed: bool)

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

Parameters

collapsed (bool) –

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.

Parameters

sources (object) –

setParametersCollapsed(self, collapsed: bool)

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

Parameters

collapsed (bool) –

toVariant(self) → Any

Saves this child to a QVariant.

See also

loadVariant()

Return type

Any