buyer_contradictions.mojo (1185B)
1 from std.collections import List 2 3 from hyf_core.domain.demand import Condition 4 5 6 def detect_contradictions(conditions: List[Condition]) -> List[String]: 7 var contradictions = List[String]() 8 for required in conditions: 9 if required.strength != "mandatory": 10 continue 11 for excluded in conditions: 12 if excluded.strength != "excluded": 13 continue 14 if required.kind != excluded.kind: 15 continue 16 var required_value = "" 17 if required.value: 18 required_value = required.value.value() 19 var excluded_value = "" 20 if excluded.value: 21 excluded_value = excluded.value.value() 22 if required_value == excluded_value and required_value != "": 23 var token = "contradiction:" + required.kind 24 var seen = False 25 for existing in contradictions: 26 if existing == token: 27 seen = True 28 if not seen: 29 contradictions.append(String(token)) 30 return contradictions^ 31 32 33 def contradictions_are_visible() -> Bool: 34 return True