hyf

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

farm_changes.mojo (1027B)


      1 from std.collections import List, Optional
      2 
      3 from hyf_core.domain.supply_change import ProposedSupplyChange, proposed_change
      4 
      5 
      6 def interpret_update_operation(verb: String) -> String:
      7     var lowered = verb.lower()
      8     if lowered == "another" or lowered == "more" or lowered == "added":
      9         return "addition"
     10     if lowered == "left" or lowered == "remaining":
     11         return "remaining"
     12     if lowered == "total":
     13         return "replacement"
     14     if lowered == "sold out" or lowered == "gone" or lowered == "withdrawn":
     15         return "withdrawal"
     16     if lowered == "actually" or lowered == "correction":
     17         return "correction"
     18     return "unresolved"
     19 
     20 
     21 def interpret_update_change(
     22     verb: String, target_kind: String, target_id: Optional[String]
     23 ) raises -> ProposedSupplyChange:
     24     return proposed_change(
     25         target_kind=target_kind,
     26         target_id=target_id,
     27         operation=interpret_update_operation(verb),
     28         expected_revision=None,
     29     )
     30 
     31 
     32 def operation_is_proposal() -> Bool:
     33     return True