hyf

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

buyer_conditions.mojo (1049B)


      1 from std.collections import Optional
      2 
      3 from hyf_core.domain.demand import Condition, condition
      4 
      5 
      6 def interpret_condition_strength(phrase: String) -> String:
      7     var lowered = phrase.lower()
      8     if lowered == "required" or lowered == "must" or lowered == "need":
      9         return "mandatory"
     10     if lowered == "ideally" or lowered == "prefer" or lowered == "preferred":
     11         return "preferred"
     12     if lowered == "not" or lowered == "no" or lowered == "exclude":
     13         return "excluded"
     14     if lowered == "fine" or lowered == "ok" or lowered == "permitted":
     15         return "permitted"
     16     return "preferred"
     17 
     18 
     19 def interpret_buyer_condition(
     20     kind: String, phrase: String, value: Optional[String]
     21 ) raises -> Condition:
     22     var strength = interpret_condition_strength(phrase)
     23     if strength == "excluded" and not value:
     24         return condition(kind, strength, None)
     25     return condition(kind, strength, value)
     26 
     27 
     28 def delivery_exclusion_means_pickup() -> Bool:
     29     return False
     30 
     31 
     32 def missing_information_is_prohibition() -> Bool:
     33     return False