farm_status.mojo (1070B)
1 from std.collections import List 2 3 4 @fieldwise_init 5 struct ProductStatus(Copyable, Movable): 6 var product_phrase: String 7 var status: String 8 var review_required: Bool 9 10 11 def interpret_product_statuses( 12 products: List[String], evaluator_status: String 13 ) raises -> List[ProductStatus]: 14 var allowed = [ 15 "offered", 16 "forecast", 17 "unavailable", 18 "correction", 19 "unclear", 20 ] 21 var status = String(evaluator_status) 22 var known = False 23 for candidate in allowed: 24 if candidate == status: 25 known = True 26 if not known: 27 status = "unclear" 28 var results = List[ProductStatus]() 29 for product in products: 30 results.append( 31 ProductStatus( 32 product_phrase=String(product), 33 status=String(status), 34 review_required=True, 35 ) 36 ) 37 return results^ 38 39 40 def status_is_confirmed_inventory(status: String) -> Bool: 41 return False 42 43 44 def status_is_forecast(status: String) -> Bool: 45 return status == "forecast"