mirror of
https://github.com/chatmail/relay.git
synced 2026-05-21 05:18:04 +00:00
add a bit more date info
This commit is contained in:
@@ -103,9 +103,13 @@ class Expiry:
|
|||||||
shutil.rmtree(mboxdir)
|
shutil.rmtree(mboxdir)
|
||||||
self.del_mboxes += 1
|
self.del_mboxes += 1
|
||||||
|
|
||||||
def remove_file(self, path):
|
def remove_file(self, path, mtime=None):
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print_info(f"removing {path}")
|
if mtime is not None:
|
||||||
|
date = datetime.fromtimestamp(mtime).strftime("%b %d")
|
||||||
|
print_info(f"removing {date} {path}")
|
||||||
|
else:
|
||||||
|
print_info(f"removing {path}")
|
||||||
if not self.dry:
|
if not self.dry:
|
||||||
try:
|
try:
|
||||||
os.unlink(path)
|
os.unlink(path)
|
||||||
@@ -135,15 +139,19 @@ class Expiry:
|
|||||||
|
|
||||||
mboxname = os.path.basename(mbox.basedir)
|
mboxname = os.path.basename(mbox.basedir)
|
||||||
if self.verbose:
|
if self.verbose:
|
||||||
print_info(f"checking for mailbox messages in: {mboxname}")
|
date = datetime.fromtimestamp(mbox.last_login) if mbox.last_login else None
|
||||||
|
if date:
|
||||||
|
print_info(f"checking mailbox {date.strftime('%b %d')} {mboxname}")
|
||||||
|
else:
|
||||||
|
print_info(f"checking mailbox (no last_login) {mboxname}")
|
||||||
self.all_files += len(mbox.messages)
|
self.all_files += len(mbox.messages)
|
||||||
for message in mbox.messages:
|
for message in mbox.messages:
|
||||||
if message.mtime < cutoff_mails:
|
if message.mtime < cutoff_mails:
|
||||||
self.remove_file(message.relpath)
|
self.remove_file(message.relpath, mtime=message.mtime)
|
||||||
elif message.size > 200000 and message.mtime < cutoff_large_mails:
|
elif message.size > 200000 and message.mtime < cutoff_large_mails:
|
||||||
# we only remove noticed large files (not unnoticed ones in new/)
|
# we only remove noticed large files (not unnoticed ones in new/)
|
||||||
if message.relpath.startswith("cur/"):
|
if message.relpath.startswith("cur/"):
|
||||||
self.remove_file(message.relpath)
|
self.remove_file(message.relpath, mtime=message.mtime)
|
||||||
else:
|
else:
|
||||||
continue
|
continue
|
||||||
changed = True
|
changed = True
|
||||||
|
|||||||
Reference in New Issue
Block a user