paperless-ngx/src/paperless_mail/tasks.py

31 lines
910 B
Python
Raw Normal View History

import logging
from paperless_mail.mail import MailAccountHandler
from paperless_mail.mail import MailError
from paperless_mail.models import MailAccount
2021-02-05 01:10:29 +01:00
logger = logging.getLogger("paperless.mail.tasks")
def process_mail_accounts():
2020-11-17 15:23:17 +01:00
total_new_documents = 0
for account in MailAccount.objects.all():
try:
2022-02-27 15:26:41 +01:00
total_new_documents += MailAccountHandler().handle_mail_account(account)
2021-02-11 22:16:41 +01:00
except MailError:
logger.exception(f"Error while processing mail account {account}")
2020-11-17 15:23:17 +01:00
if total_new_documents > 0:
return f"Added {total_new_documents} document(s)."
else:
return "No new documents were added."
def process_mail_account(name):
2020-12-01 14:31:36 +01:00
try:
account = MailAccount.objects.get(name=name)
MailAccountHandler().handle_mail_account(account)
2020-12-01 14:31:36 +01:00
except MailAccount.DoesNotExist:
2021-02-05 01:10:29 +01:00
logger.error(f"Unknown mail acccount: {name}")