Source code for ampel.model.StateT2Dependency
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# File: Ampel-interface/ampel/model/StateT2Dependency.py
# License: BSD-3-Clause
# Author: valery brinnel <firstname.lastname@gmail.com>
# Date: 06.02.2021
# Last Modified Date: 28.09.2021
# Last Modified By: valery brinnel <firstname.lastname@gmail.com>
from typing import Generic
from ampel.model.DPSelection import DPSelection
from ampel.model.UnitModel import T, UnitModel
[docs]
class StateT2Dependency(UnitModel[T], Generic[T]):
"""
Used to specify how "tied state t2" units should select the associated required t2 document.
T2Processor needs to retrieve the T2Records of units tied with this unit.
If link_override is unspecified, t2 dependencies are resolved - for each StateT2Dependency -
using the db match query: {unit: <unit_name>, link: <same link as root doc>}.
This behavior is overridable/customizable via 't2_dependency->link_override' (t2 config dict).
'link_override' allows to link a state T2 with a different value than the one registered as 'link' in the T2Record.
For example, link_override enables to tie a state T2 with the result of a point t2
(the returned link could be the id of the first datapoint contained in the compound)
"""
#: - None: the state associated with the root tied state T2 will be used (value of 'link' in t2 doc)
#: - DPSelection: allows tied state T2 units to be bound with point t2 units.
link_override: None | DPSelection