From f91f15e81f6ab477dd6aaa97f7d67c12f0bc6660 Mon Sep 17 00:00:00 2001 From: Felix Stupp Date: Sun, 25 Jun 2023 17:16:46 +0200 Subject: [PATCH] common: Move all_same into _itertools --- server/entertainment_decider/common.py | 7 ------- server/entertainment_decider/common/__init__.py | 2 ++ server/entertainment_decider/common/_itertools.py | 9 +++++++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/server/entertainment_decider/common.py b/server/entertainment_decider/common.py index 678dd2c..f3bb27e 100644 --- a/server/entertainment_decider/common.py +++ b/server/entertainment_decider/common.py @@ -3,7 +3,6 @@ import subprocess import sys from typing import ( IO, - Iterable, Literal, Optional, Sequence, @@ -12,12 +11,6 @@ from typing import ( ) -def all_same(iterable: Iterable) -> bool: - it = iter(iterable) - first = next(it) - return all(first == elem for elem in it) - - def call( args: Sequence[str], check: bool = True, diff --git a/server/entertainment_decider/common/__init__.py b/server/entertainment_decider/common/__init__.py index 6cd4bda..3f80868 100644 --- a/server/entertainment_decider/common/__init__.py +++ b/server/entertainment_decider/common/__init__.py @@ -1,4 +1,5 @@ from ._itertools import ( + all_same, fix_iter, iter_lookahead, limit_iter, @@ -6,6 +7,7 @@ from ._itertools import ( __all__ = [ + "all_same", "fix_iter", "iter_lookahead", "limit_iter", diff --git a/server/entertainment_decider/common/_itertools.py b/server/entertainment_decider/common/_itertools.py index a3c4bee..c15b82c 100644 --- a/server/entertainment_decider/common/_itertools.py +++ b/server/entertainment_decider/common/_itertools.py @@ -13,6 +13,15 @@ from typing import ( T = TypeVar("T") +# check Iterable for same values + + +def all_same(iterable: Iterable) -> bool: + it = iter(iterable) + first = next(it) + return all(first == elem for elem in it) + + # fix Iterables