MachineState(
counters: dict[int, int] = dict(),
meters: dict[str, int] = dict(),
)
Generic numeric counters for a VLT.
Two buckets: counters keyed by numeric id (Unidesa/Cirsa think in ids) and meters keyed by
name (everybody else does). Anything you never set reads as 0, the way a fresh machine starts
and the way my bank account usually ends.
get_counter
get_counter(counter_id: int) -> int
Return counter counter_id, or 0 if nobody ever set it.
Source code in src/morpheus_vlt/models/state.py
| def get_counter(self, counter_id: int) -> int:
"""Return counter `counter_id`, or 0 if nobody ever set it."""
return int(self.counters.get(counter_id, 0))
|
set_counter
set_counter(counter_id: int, value: int) -> None
Overwrite counter counter_id with value.
Source code in src/morpheus_vlt/models/state.py
| def set_counter(self, counter_id: int, value: int) -> None:
"""Overwrite counter `counter_id` with `value`."""
self.counters[counter_id] = int(value)
|
bump_counter
bump_counter(counter_id: int, delta: int) -> None
Add delta to counter counter_id. Negative works too, no questions asked.
Source code in src/morpheus_vlt/models/state.py
| def bump_counter(self, counter_id: int, delta: int) -> None:
"""Add `delta` to counter `counter_id`. Negative works too, no questions asked."""
self.counters[counter_id] = self.get_counter(counter_id) + int(delta)
|
get_meter
get_meter(name: str) -> int
Return meter name, or 0 if nobody ever set it.
Source code in src/morpheus_vlt/models/state.py
| def get_meter(self, name: str) -> int:
"""Return meter `name`, or 0 if nobody ever set it."""
return int(self.meters.get(name, 0))
|
set_meter
set_meter(name: str, value: int) -> None
Overwrite meter name with value.
Source code in src/morpheus_vlt/models/state.py
| def set_meter(self, name: str, value: int) -> None:
"""Overwrite meter `name` with `value`."""
self.meters[name] = int(value)
|