From 7c1681cc70c98a38e627534f22d63fe899b284d1 Mon Sep 17 00:00:00 2001 From: Anthony van Winkle Date: Wed, 17 May 2023 13:01:26 -0700 Subject: [PATCH 1/2] Allow // for floor division in dynamic values --- mpf/core/placeholder_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mpf/core/placeholder_manager.py b/mpf/core/placeholder_manager.py index 8327247b5..777c73764 100644 --- a/mpf/core/placeholder_manager.py +++ b/mpf/core/placeholder_manager.py @@ -20,7 +20,7 @@ # supported operators -OPERATORS = {ast.Add: op.add, ast.Sub: op.sub, ast.Mult: op.mul, +OPERATORS = {ast.Add: op.add, ast.Sub: op.sub, ast.Mult: op.mul, ast.FloorDiv: op.floordiv, ast.Div: op.truediv, ast.Pow: op.pow, ast.BitXor: op.xor, ast.USub: op.neg, ast.Not: op.not_, ast.Mod: op.mod} From dac82eb152a3df442bc01196271c297469abf53a Mon Sep 17 00:00:00 2001 From: Anthony van Winkle Date: Wed, 17 May 2023 13:08:09 -0700 Subject: [PATCH 2/2] Add tests for floordiv in dynamic value --- .../variable_player/modes/mode3/config/mode3.yaml | 2 ++ mpf/tests/test_VariablePlayer.py | 3 +++ 2 files changed, 5 insertions(+) diff --git a/mpf/tests/machine_files/variable_player/modes/mode3/config/mode3.yaml b/mpf/tests/machine_files/variable_player/modes/mode3/config/mode3.yaml index 9996c32f8..d41a26f2d 100644 --- a/mpf/tests/machine_files/variable_player/modes/mode3/config/mode3.yaml +++ b/mpf/tests/machine_files/variable_player/modes/mode3/config/mode3.yaml @@ -27,6 +27,8 @@ variable_player: multiplier: float: 1.5 action: set + score_floordiv: + score: 123456 // 100 * 100 set_player7: score: int: 10 diff --git a/mpf/tests/test_VariablePlayer.py b/mpf/tests/test_VariablePlayer.py index 7baef2a31..d5c011ef5 100644 --- a/mpf/tests/test_VariablePlayer.py +++ b/mpf/tests/test_VariablePlayer.py @@ -144,6 +144,9 @@ def test_variable_player(self): self.post_event("score_float3") self.assertPlayerVarEqual(2394, "score") + self.post_event("score_floordiv") + self.assertPlayerVarEqual(125794, "score") + # should not crash self.post_event("set_player7") self.post_event("add_player7")