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