diff --git a/chatmaild/src/chatmaild/fsreport.py b/chatmaild/src/chatmaild/fsreport.py index deb498ab..375800f8 100644 --- a/chatmaild/src/chatmaild/fsreport.py +++ b/chatmaild/src/chatmaild/fsreport.py @@ -81,7 +81,10 @@ class Report: print("## Mailbox storage use analysis") print(f"Mailbox data total size: {HSize(self.size_extra + all_messages)}") print(f"Messages total size : {HSize(all_messages)}") - percent = self.size_extra / (self.size_extra + all_messages) * 100 + try: + percent = self.size_extra / (self.size_extra + all_messages) * 100 + except ZeroDivisionError: + percent = 100 print(f"Extra files : {HSize(self.size_extra)} ({percent:.2f}%)") print() @@ -98,7 +101,7 @@ class Report: user_logins = self.num_all_logins - self.num_ci_logins def p(num): - return f"({num / user_logins * 100:2.2f}%)" + return f"({num / user_logins * 100:2.2f}%)" if user_logins else "100%" print() print(f"## Login stats, from date reference {datetime.fromtimestamp(self.now)}") diff --git a/chatmaild/src/chatmaild/tests/test_expire.py b/chatmaild/src/chatmaild/tests/test_expire.py index be6cc642..dd848c00 100644 --- a/chatmaild/src/chatmaild/tests/test_expire.py +++ b/chatmaild/src/chatmaild/tests/test_expire.py @@ -79,6 +79,11 @@ def test_stats_mailbox(mbox1): assert mbox3.last_login is None +def test_report_no_mailboxes(example_config): + args = (str(example_config._inipath),) + report_main(args) + + def test_report(mbox1, example_config): args = (str(example_config._inipath),) report_main(args)