def __init__()

in elastic/shared/parameter_sources/datastream.py [0:0]


    def __init__(self, track, params, **kwargs):
        self._params = params
        self.infinite = False
        integration_ratios = track.selected_challenge_or_default.parameters.get("integration-ratios", None)
        listed_corpora = [
            corpus
            for integration_name, integration in integration_ratios.items()
            for corpus, ratio in integration["corpora"].items()
            if ratio > 0
        ]
        targeted_corpora = [corpus for corpus in track.corpora if corpus.name in listed_corpora]
        # we de-duplicate the list of data streams as more than 1 corpus can use the same data stream
        target_data_stream = list(
            dict.fromkeys([corpus.documents[0].target_data_stream for corpus in targeted_corpora if len(corpus.documents) > 0])
        )
        self._target_data_stream = iter(target_data_stream)