Source code for tadkit.utils.match_formalizer_learners
from typing import Sequence
from tadkit.base.formalizer import Formalizer
from tadkit.base.tadlearner import TADLearner
[docs]
def match_formalizer_learners(
formalizer: Formalizer,
learners: Sequence[TADLearner],
):
matching_learners = {}
for learner_name, learner_class in learners.items():
if set(formalizer.available_properties).issuperset(
learner_class.required_properties
):
matching_learners[learner_name] = learner_class
else:
print(
f"Discarding {learner_name=},"
f" has {learner_class.required_properties=} that doesn't match {formalizer.available_properties=}"
)
return matching_learners