hyf

Context-aware query service for Radroots
git clone https://radroots.dev/git/hyf.git
Log | Files | Refs | README | LICENSE

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