fixup after trying out on nine: don't remove large messages after 7 days if they are in the new/ folder (this is old behaviour)

and provide reporting about which mailbox is being scanned.
This commit is contained in:
holger krekel
2025-10-21 21:46:51 +02:00
parent 0931da21b8
commit 8d65770c28
4 changed files with 11 additions and 5 deletions

View File

@@ -105,12 +105,17 @@ class Expiry:
# all to-be-removed files are relative to the mailbox basedir
os.chdir(mbox.basedir)
mboxname = os.path.basename(mbox.basedir)
if self.verbose:
print_info(f"checking for mailbox messages in: {mboxname}")
self.all_files += len(mbox.messages)
for message in mbox.messages:
if message.mtime < cutoff_mails:
self.remove_file(message.relpath)
elif message.size > 200000 and message.mtime < cutoff_large_mails:
self.remove_file(message.relpath)
# we only remove noticed large files (not unnoticed ones in new/)
if message.relpath.startswith("cur/"):
self.remove_file(message.relpath)
else:
continue
changed = True

View File

@@ -123,6 +123,7 @@ def test_expiry_cli_old_files(capsys, example_config, mbox1):
if fnmatch(line, f"removing*{path}"):
break
else:
pytest.fail(f"failed to remove {path}\n{err}")
if path != "new/msg_old_large2":
pytest.fail(f"failed to remove {path}\n{err}")
assert "shouldstay" not in err