From a72d692c68d922428a98a3881054cd0bbda50c83 Mon Sep 17 00:00:00 2001 From: aclist <92275929+aclist@users.noreply.github.com> Date: Fri, 14 Aug 2026 08:20:38 +0900 Subject: [PATCH] fix: time regex --- dzgui/model/proxy_model.py | 4 ++-- tests/test_time.py | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) create mode 100644 tests/test_time.py diff --git a/dzgui/model/proxy_model.py b/dzgui/model/proxy_model.py index c07a711..997a59f 100644 --- a/dzgui/model/proxy_model.py +++ b/dzgui/model/proxy_model.py @@ -231,10 +231,10 @@ class ProxyModelManager: final.append(row) rows = final case strings.filter_day: - reg = r"([0][0-9]|[1][0-6])" + reg = r"([0][7-9]|[1][0-6])" rows = [row for row in rows if not re.match(reg, row[3])] case strings.filter_night: - reg = r"([0][0-4]|[1][8]|[2][0-3])" + reg = r"([0][0-6]|[1][7-9]|[2][0-3])" rows = [row for row in rows if not re.match(reg, row[3])] case strings.filter_nonascii: rows = [row for row in rows if row[0].isascii()] diff --git a/tests/test_time.py b/tests/test_time.py new file mode 100644 index 0000000..f67906d --- /dev/null +++ b/tests/test_time.py @@ -0,0 +1,26 @@ +import pytest +import re + +day = r"([0][7-9]|[1][0-6])" +night = r"([0][0-6]|[1][7-9]|[2][0-3])" + +pytestmark = pytest.mark.FOO + +def iterate(h: str, r: str) -> None: + for m in range(60): + time = f"{h:02}:{m:02}" + assert re.match(r, time) is not None + + +def test_day() -> None: + for h in range(17): + if h < 7: + continue + iterate(h, day) + + +def test_night() -> None: + for h in range(24): + if 6 < h < 17: + continue + iterate(h, night)