diff --git a/server/entertainment_decider/common.py b/server/entertainment_decider/common.py index 1c6323d..cfeaf5d 100644 --- a/server/entertainment_decider/common.py +++ b/server/entertainment_decider/common.py @@ -1,11 +1,9 @@ from datetime import date, datetime import sys from typing import ( - Literal, Optional, Sequence, TypeVar, - Union, ) @@ -37,17 +35,3 @@ def trim(docstring: str) -> str: trimmed.pop(0) # Return a single string: return "\n".join(trimmed) - - -def update_bool_value( - old_value: bool, new_value: Union[bool, Literal["toggle"]] -) -> bool: - if new_value == "toggle": - return not old_value - if type(new_value) != bool: - raise Exception( - f'Invalid type of new_value: Expected bool or literal "toggle", got type={type(new_value)!r}, value={new_value!r}' - ) - return new_value - - diff --git a/server/entertainment_decider/common/__init__.py b/server/entertainment_decider/common/__init__.py index 85d3cda..43be718 100644 --- a/server/entertainment_decider/common/__init__.py +++ b/server/entertainment_decider/common/__init__.py @@ -4,6 +4,9 @@ from ._itertools import ( iter_lookahead, limit_iter, ) +from ._setting_handler import ( + update_bool_value, +) from ._subprocess import ( call, ) @@ -15,4 +18,5 @@ __all__ = [ "fix_iter", "iter_lookahead", "limit_iter", + "update_bool_value", ] diff --git a/server/entertainment_decider/common/_setting_handler.py b/server/entertainment_decider/common/_setting_handler.py new file mode 100644 index 0000000..028a8c3 --- /dev/null +++ b/server/entertainment_decider/common/_setting_handler.py @@ -0,0 +1,16 @@ +from typing import ( + Literal, +) + + +def update_bool_value( + old_value: bool, + new_value: bool | Literal["toggle"], +) -> bool: + if new_value == "toggle": + return not old_value + if type(new_value) != bool: + raise Exception( + f'Invalid type of new_value: Expected bool or literal "toggle", got type={type(new_value)!r}, value={new_value!r}' + ) + return new_value