From 5723c94a27855d87e86b87b5e71ee8123c807474 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Fri, 14 Mar 2025 11:49:46 -0700 Subject: [PATCH 1/2] Ensure the candidates for possible accounts are directories with a "cur" subdir to ensure it is a real maildir --- chatmaild/src/chatmaild/metrics.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/chatmaild/src/chatmaild/metrics.py b/chatmaild/src/chatmaild/metrics.py index 0b98ccae..78692325 100644 --- a/chatmaild/src/chatmaild/metrics.py +++ b/chatmaild/src/chatmaild/metrics.py @@ -11,6 +11,8 @@ def main(vmail_dir=None): ci_accounts = 0 for path in Path(vmail_dir).iterdir(): + if not path.is_dir() or not (path / "cur").is_dir(): + continue accounts += 1 if path.name[:3] in ("ci-", "ac_"): ci_accounts += 1 From 3768100b577ae49e2977b18674da9aabbda461e0 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Thu, 27 Mar 2025 17:35:51 +0100 Subject: [PATCH 2/2] fix test and streamline impl --- chatmaild/src/chatmaild/metrics.py | 2 +- chatmaild/src/chatmaild/tests/test_metrics.py | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/chatmaild/src/chatmaild/metrics.py b/chatmaild/src/chatmaild/metrics.py index 78692325..646b48f7 100644 --- a/chatmaild/src/chatmaild/metrics.py +++ b/chatmaild/src/chatmaild/metrics.py @@ -11,7 +11,7 @@ def main(vmail_dir=None): ci_accounts = 0 for path in Path(vmail_dir).iterdir(): - if not path.is_dir() or not (path / "cur").is_dir(): + if not path.joinpath("cur").is_dir(): continue accounts += 1 if path.name[:3] in ("ci-", "ac_"): diff --git a/chatmaild/src/chatmaild/tests/test_metrics.py b/chatmaild/src/chatmaild/tests/test_metrics.py index e8a2be28..0a8e5cb3 100644 --- a/chatmaild/src/chatmaild/tests/test_metrics.py +++ b/chatmaild/src/chatmaild/tests/test_metrics.py @@ -2,8 +2,15 @@ def test_main(tmp_path, capsys): + paths = [] for x in ("ci-asllkj", "ac_12l3kj", "qweqwe", "ci-l1k2j31l2k3"): - tmp_path.joinpath(x).mkdir() + p = tmp_path.joinpath(x) + p.mkdir() + p.joinpath("cur").mkdir() + paths.append(p) + + tmp_path.joinpath("nomailbox").mkdir() + main(tmp_path) out, _ = capsys.readouterr() d = {}